注意 abcd 和 aaaa 应该是You chickened out. #include <iostream> #include <set> #include <string> using namespace std; int main() { int n; set<char> se; set<char>::iterator it; string str1, str2; bool a[100]; while(scanf("%d", &n) != EOF && n != -1) { se.clear(); cin >> str1; for(int i = 0; i < 26; i++) a[i] = false; for(int i = 0; i < str1.size(); i++) se.insert(str1[i]); cin >> str2; int tot = 0, res = 0; for(int i = 0; i < str2.size(); i++) { if(a[str2[i]-'a']) continue; it = se.find(str2[i]); if(it == se.end()) { tot++; if(tot == 7) break; } else { res++; a[str2[i]-'a'] = true; if(res == se.size()) break; } } cout << "Round " << n << endl; if(tot == 7) cout << "You lose." << endl; else { if(res == se.size()) cout << "You win." << endl; else cout << "You chickened out." << endl; } } return 0; }