#300 (div.1 2) A. Cutting Banner

1.题目描述:点击打开链接

2.解题思路:本题要求在一个串中寻找一个子串,使得将它截去之后,剩下的部分刚好能拼成CODEFORCES.直接枚举子串的起点和终点,然后判断即可。这道题一开始没有注意Announcement中的提示,只能找一个串,最终迟迟找不到错因==,太可惜了。。

3.代码:

#define _CRT_SECURE_NO_WARNINGS 
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<functional>
using namespace std;
#define rep(i,a,n) for (int i=a;i<n;i++)
#define pb push_back
char s[10100];
int n;
bool check(int i, int j) 
{
	string t;
	rep(k, 0, n) if (k<i || k>j) t.pb(s[k]);
	return t == (string)"CODEFORCES";
}
int main() 
{
	scanf("%s", s);
	n = strlen(s);
	rep(i, 0, n) rep(j, i, n) if (check(i, j)) {
		puts("YES");
		return 0;
	}
	puts("NO");
}

你可能感兴趣的:(字符串,简单模拟)