# UVa 489 - Hangman Judge --- # 題目大意 給兩字串,第一個是答案,第二個是猜測。如果猜的字母是答案中的就算猜中,否則就算猜錯,最多只能猜錯7次。問遊戲結果。 --- # 題解 直接模擬遊戲過程,最後判斷三種情況即可。 --- ```=C++ #include <bits/stdc++.h> #define ll long long #define pb push_back #define INF 2147483647 #define ft first #define sec second #define pr pair<int,int> #define ISCC ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); using namespace std; int t ,n ,m; string s1 ,s2; int main() { while(cin >> n) { if(n==-1) return 0; getchar(); getline(cin,s1); getline(cin,s2); int ok=0 ,len ,vis[26]={0} ,cnt=0; set<char> st; for(int i=0 ;i<s1.size() ;i++) st.insert(s1[i]-'a') ,vis[s1[i]-'a']=1; len = st.size(); for(int i=0 ;i<s2.size() ;i++) { if(vis[s2[i]-'a']==1) { len--; vis[s2[i]-'a'] = -1; if(!len) {ok=1; break;} } else if(vis[s2[i]-'a']==0) { cnt++; if(cnt==7) {ok=-1; break;} } } if(ok==0) printf("Round %d\nYou chickened out.\n",n); else if(ok==1) printf("Round %d\nYou win.\n",n); else printf("Round %d\nYou lose.\n" ,n); } return 0; } ```