//直接模拟就行了 #define LOCAL #include<iostream> #include<cstring> using namespace std; int round,l1,l2,i,stroke,win[101]; string s,guess; int check_guess(char c) { int j,ok=0; for(j=0;j<l1;j++) { if(s[j]==c) { win[j]=1; ok=1; } } if(!ok) { for(j=i-1;j>=0;j--) { if(guess[j]==guess[i]) return 1; } } return ok; } int check_win() { int j; for(j=0;j<l1;j++) { if(!win[j]) return 0; } return 1; } int main() { #ifdef LOCAL freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #endif while(cin>>round&&round!=-1) { cout<<"Round "<<round<<endl; cin>>s;l1=s.size(); cin>>guess;l2=guess.size(); memset(win,0,sizeof(win)); stroke=0; for(i=0;i<l2;i++) { if(check_guess(guess[i])) { if(check_win()) { cout<<"You win."<<endl; goto end; } } else { stroke++; if(stroke==7) { cout<<"You lose."<<endl; goto end; } } } cout<<"You chickened out."<<endl; end:; } return 0; }
uvaoj 489 - Hangman Judge
最新推荐文章于 2018-11-12 17:17:00 发布