Codeforces Round #253 (Div. 2), problem: (B)【字符串匹配】

简易字符串匹配,题意不难

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <math.h>
 4 #include <iostream>
 5 #include <algorithm>
 6 using namespace std;
 7
 8 int main(){
 9     int i, j, k, t, n;
10     int num, flag, ans;
11     char a[300];
12     scanf("%s",a);
13     scanf("%d",&k);
14     int len = strlen(a);
15     num = len + k;
16     num /= 2;
17     flag = 0;
18     for(n = num; n > 0; --n){
19         for(j = 0; j < len; ++j){
20             i = j;
21             while(i < j + n && i <(len + k - n)){
22                 if((i + n) >= len){
23                     ++i;
24                     continue;
25                 }
26                 if(a[i] == a[i + n]){
27                     ++i;
28                     continue;
29                 }
30                 else    break;
31             }
32
33             if(i == j + n){
34                 flag = 1;
35                 break;
36             }
37         }
38         if(flag)    break;
39     }
40     printf("%d\n",n * 2);
41     return 0;
42 }

Codeforces Round #253 (Div. 2), problem: (B)【字符串匹配】,布布扣,bubuko.com

时间: 2024-10-24 13:04:02

Codeforces Round #253 (Div. 2), problem: (B)【字符串匹配】的相关文章

Codeforces Round 253 (Div. 2)

layout: post title: Codeforces Round 253 (Div. 2) author: "luowentaoaa" catalog: true tags: mathjax: true - codeforces - 模拟栈 - 贪心 传送门 A.Anton and Letters (签到) 题意 判断字符串里面有多少个不同字符 思路 直接set一下 #include<bits/stdc++.h> using namespace std; typed

Codeforces Round #253 (Div. 2) B - Kolya and Tandem Repeat

本题要考虑字符串本身就存在tandem, 如测试用例 aaaaaaaaabbb 3 输出结果应该是8而不是6,因为字符串本身的tanderm时最长的 故要考虑字符串本身的最大的tanderm和添加k个字符后最大的tanderm #include <iostream> #include <vector> #include <algorithm> #include <string> #include <set> using namespace std

Codeforces Round #253 (Div. 2)——Borya and Hanabi

题目连接 题意: n表示有n个卡片,每个卡片有一种颜色和一个数字(共五种不同的颜色和五个不同的数字).事先知道每种卡片有几张,但是不知道具体的位置.问需要几次提示就可以知道所有卡片的位置都在哪里:每次提示可以选择一个颜色或者一个数字,就可以知道含有所选属性的牌有哪些. 分析: 首先明白总情况数不多,只有2^10,所以枚举. 能确定某张牌位置的情况:1)提示了一个属性,而这个属性只有一张牌 2)某个属性有n张牌,知道了n-1张牌的位置 两个提示确定一张牌:必然的,只要存在这张牌,那么两个提示必然可

Codeforces Round #253 (Div. 1) (A, B, C)

Codeforces Round #253 (Div. 1) 题目链接 A:给定一些牌,然后现在要提示一些牌的信息,要求提示最少,使得所有牌可以被分辨出来. 思路:一共2^10种情况,直接暴力枚举,然后对于每种情况去判断,判断的时候只要两两张牌枚举出来判断即可.不得不说CF机子真心强大,2秒限制还是能跑10^8 B:给定n个发生概率,求选出其中一些事件,使得正好有一件发生的概率最大. 思路:贪心,从大到小排序概率,然后一个个概率进来判断有没有更大,有就加入该事件,没有就跳过 C:给定n个数字,要

Codeforces Round #253 (Div. 1)-A,B

A题: 由题意可知,最多翻10次就可以(其实8次就够了),那么我们就用状态压缩表示状态. 对于某种状态,如果某一位为0,那么代表这一位不翻,否则代表这一位翻. 对于某一种翻的状态: 如果牌中有G3,那么就把G和3进行连边.其他的连边类似,不要重边. 对于任意一条边的两个端点,分三种情况讨论: 1,两个端点都翻了,那么很明显,这张牌被表示出来了. 2,两个端点中只有一个端点被翻,那么这个对应的num加1. 3,两个端点都没有被翻,计数器tt加1. 对于任意一种状态: 1,如果计数器tt大于1,那么

Codeforces Round #253 (Div. 2) A. Anton and Letters

题目很简单,只需要注意带空格的输入用getline即可 #include <iostream> #include <vector> #include <algorithm> #include <string> #include <set> using namespace std; int main(){ string str; getline(cin,str); set<char> a; for(int i= 1 ; i < s

Codeforces Round #466 (Div. 2) Problem A - E

从这里开始 题目列表 小结 Problem A Points on the line Problem B Our Tanya is Crying Out Loud Problem C Phone Numbers Problem D Alena And The Heater Problem E Cashback Problem F Machine Learning (Lazy Tag) 小结 这场比赛和同学一起打.本来应该是很开心的事情,结果留下好多遗憾. 第一个遗憾是没能在20分钟内消灭A.B题

Codeforces Round #427 (Div. 2) Problem C Star sky (Codeforces 835C) - 前缀和

The Cartesian coordinate system is set in the sky. There you can see n stars, the i-th has coordinates (xi, yi), a maximum brightness c, equal for all stars, and an initial brightness si (0 ≤ si ≤ c). Over time the stars twinkle. At moment 0 the i-th

Codeforces Round #425 (Div. 2) Problem D Misha, Grisha and Underground (Codeforces 832D) - 树链剖分 - 树状数组

Misha and Grisha are funny boys, so they like to use new underground. The underground has n stations connected with n - 1 routes so that each route connects two stations, and it is possible to reach every station from any other. The boys decided to h