Description
切去一个字符串的某个子串后问剩余部分是否可能是CODEFORCES
Input
一个字符串
Output
如果切去某个子串后可以变成CODEFORCES则输出YES,否则输出NO
Sample Input
DECODEFORCES
Sample Output
YES
Solution
从字符串两端分别与目标串进行匹配直至不能匹配,记录匹配终点res1,res2,则当res2<=reas1就可以切出CODEFORCES,否则则不能
Code
#include<stdio.h>
#include<string.h>
int main()
{
char s[105],c[11]={"CODEFORCES"};
int i,res1,res2,len;
gets(s);
len=strlen(s);
i=0;
res1=0;
while(s[i]==c[res1])
{
i++;
res1++;
}
res1--;
i=len-1;
res2=9;
while(s[i]==c[res2])
{
i--;
res2--;
if(res2<=res1)
break;
}
puts(res2<=res1?"YES":"NO");
return 0;
}