题目链接:http://codeforces.com/gym/101028/problem/F
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
getchar();
while(t--)
{
char a[1010];
scanf("%s",a);
char b[5];
scanf("%s",b);
getchar();
int flag=0,f=0;
for(int i=0;a[i];i++)
{
if(a[i]==b[0]&&a[i+1]==b[1]&&a[i+2]==b[2]&&a[i+3]==b[3])
{
flag=1;f=1;
}
else if(a[i]==b[0]&&a[i+1]==b[1]&&a[i+2]==b[3])
{
flag=1;
}
else if(a[i]==b[0]&&a[i+1]==b[2]&&a[i+2]==b[3])
{
flag=1;
}
else if(a[i]==b[0]&&a[i+1]==b[1]&&a[i+2]==b[2])
{
flag=1;
}
else if(a[i]==b[1]&&a[i+1]==b[2]&&a[i+2]==b[3])
{
flag=1;
}
}
if(flag&&f)
printf("good\n");
else if(flag==1)
printf("almost good\n");
else
printf("none\n");
}
return 0;
}
思想:枚举