//直接模拟就行了
#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 发布