思路:首先统计给出单词中,有哪些字母出现以及总共的字母数量。然后再与给出的字符串进行比较即可。
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, i, na[30], count, flag, sum;
char a[50], b[50];
while(scanf("%d", &n) != EOF && n != -1){
scanf("%s%s", a, b);
count = 0;flag = 2;sum = 0;
memset(na, 0, sizeof(na));
for(i = 0;i < strlen(a);i ++)na[a[i]-'a'] = 1;
for(i = 0;i < 26;i ++)sum += na[i];
int len = strlen(b);
for(i = 0;i < len;i ++){
if(!na[b[i]-'a'])count++;
else if(na[b[i]-'a'] == 1){
na[b[i]-'a']--;
sum --;
}
if(count > 6){
flag = 0;
break;
}else if(!sum){
flag = 1;
break;
}
}
printf("Round %d\n", n);
if(!flag)printf("You lose.\n");
else if(flag == 1)printf("You win.\n");
else printf("You chickened out.\n");
}
return 0;
}