本文主要是介绍ACM-ICPC 2015 Shenyang Preliminary Contest Fang Fang,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Fang Fang
题目
样例
思路
长度<=2时,直接判断。
长度>2时,有c则表示一个串,但是cc或cfc是错误的,因为f2=cff。
此外,还要注意输入不一定只有c和f。
代码
#include<iostream>
using namespace std;
int main()
{int t;cin>>t;for(int T=1;T<=t;T++){string s;cin>>s;int n=0,f=0,i;int l=s.size();printf("Case #%d: ",T);if(l<=2)//长度短,不会出现c的情况{for(i=0;i<l&&s[i]=='f';i++);if(i<l) puts("-1");//有c就错else puts("1");continue;}for(i=0;i<l;i++){if(s[i]=='c'){if(i<l-1&&s[i+1]=='c'||i==l-1&&s[0]=='c')f=1;//c与c紧靠,即ccelse if(i<l-2&&s[i+1]=='f'&&s[i+2]=='c'||i==l-2&&s[i+1]=='f'&&s[0]=='c'||i==l-1&&s[0]=='f'&&s[1]=='c')f=1;//c与c隔一个f,即cfcelse n++;//符合要求的cif(f) break;}else if(s[i]!='f') f=1;//出现其他字符,坑!!!}if(f) puts("-1");//出现cc或cfc错误else{if(n==0) printf("%d\n",l/2+l%2);else printf("%d\n",n);}}return 0;
}
这篇关于ACM-ICPC 2015 Shenyang Preliminary Contest Fang Fang的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!