思路:直接模拟就好了,注意全是f的情况
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ULL;
typedef long long LL;
const int INF = 0x3f3f3f3f;
const double eps = 1e-9;
const int maxn = 1000000 + 100;
char s[maxn];
int pos[maxn];
int main()
{
int T, cas=1, n;
scanf("%d", &T);
while(T--)
{
int f=1, cn=0;
scanf("%s", s);
n = strlen(s);
for(int i=0;s[i];++i)
{
if(s[i]=='c') pos[cn++]=i;
if(s[i]!='c'&&s[i]!='f'){
f=0; break;
}
}
printf("Case #%d: ", cas++);
if(!f) puts("-1");
else
{
if(cn==0)
{
printf("%d\n", n/2+n%2);
continue;
}
for(int i=0;i<cn-1;++i)
{
if(pos[i+1]-pos[i]<3)
{
f=0; break;
}
}
if(n-pos[cn-1] + pos[0] < 3) f=0;
if(!f) puts("-1");
else printf("%d\n", cn);
}
}
return 0;
}
Description
Fang Fang says she wants to be remembered.
I promise her. We define the sequence
of
strings.
























































Write down a serenade as a lowercase string
in
a circle, in a loop that never ends.
Spell the serenade using the minimum number of strings in
,
or nothing could be done but put her away in cold wilderness.
I promise her. We define the sequence





























































Write down a serenade as a lowercase string

Spell the serenade using the minimum number of strings in

Input
An positive integer
,
indicating there are
test
cases.
Following are
lines,
each line contains an string
as
introduced above.
The total length of strings for all test cases would not be larger than

.


Following are


The total length of strings for all test cases would not be larger than



Output
The output contains exactly
lines.
For each test case, if one can not spell the serenade by using the strings in
,
output 
.
Otherwise, output the minimum number of strings in
to
split
according
to aforementioned rules. Repetitive strings should be counted repeatedly.

For each test case, if one can not spell the serenade by using the strings in





Sample Input
8 ffcfffcffcff cffcfff cffcff cffcf ffffcffcfff cffcfffcffffcfffff cff cffc
Sample Output
Case #1: 3 Case #2: 2 Case #3: 2 Case #4: -1 Case #5: 2 Case #6: 4 Case #7: 1 Case #8: -1