这道题目很容易出错,注意输入,例如输入cheese 和cheese也应该是you win。我们在编写程序的时候,很容易忽略后者的字符串中有重复元素。从而造成wrong answer。
下面是我的代码:
#include <stdio.h>
#include <string.h>
int main()
{
int i,j,n,s3,s4,l1,l2,k,k1;
char s1[1000],s2[1000];
while(scanf("%d",&n)!=EOF)
{
if(n==-1)
{
break;
}
getchar();
gets(s1);
gets(s2);
l1=strlen(s1);
l2=strlen(s2);
s3=l1;
s4=0;
k1=0;
printf("Round %d\n",n);
for(i=0;i<=l2-1;i++)
{
k=0;
for(j=0;j<=i-1;j++)
{
if(s2[i]==s2[j])
{
break;
}
}
if(j==i)
{
for(j=0;j<=l1-1;j++)
{
if(s2[i]==s1[j])
{
k=1;
s3-=1;
}
}
}
if(k==0)
{
s4+=1;
}
if(s4==7)
{
k1=1;
printf("You lose.\n");
break;
}
if(s3==0)
{
k1=1;
printf("You win.\n");
break;
}
}
if(k1==0)
{
printf("You chickened out.\n");
}
}
return 0;
}