UVA489水题
来源:互联网 发布:大连锐鑫软件 编辑:程序博客网 时间:2024/06/05 20:22
#include<queue>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cctype>
#include<algorithm>
using namespace std;
int main()
{
int round;
char s[1000],s1[1000];
while(scanf("%d",&round)!=EOF&&round!=-1)
{
scanf("%s%s",s,s1);
int visit[1000];
memset(visit,1,sizeof(visit));
int sum=0,fail=0;
int sl=strlen(s);
for(int i=0;s1[i]!='\0';i++)
{
int flag=0;
for(int j=0;s[j]!='\0';j++)
{
if(s1[i]==s[j]&&visit[j])
{
sum++;
visit[j]=0;
flag=1;
}
if(sum==sl)
break;
}
if(sum==sl)
break;
if(flag==0)
fail++;
if(fail==7)
break;
}
printf("Round %d\n",round);
if(sum==sl)
printf("You win.\n");
else if(fail==7)
printf("You lose.\n");
else
printf("You chickened out.\n");
}
return 0;
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cctype>
#include<algorithm>
using namespace std;
int main()
{
int round;
char s[1000],s1[1000];
while(scanf("%d",&round)!=EOF&&round!=-1)
{
scanf("%s%s",s,s1);
int visit[1000];
memset(visit,1,sizeof(visit));
int sum=0,fail=0;
int sl=strlen(s);
for(int i=0;s1[i]!='\0';i++)
{
int flag=0;
for(int j=0;s[j]!='\0';j++)
{
if(s1[i]==s[j]&&visit[j])
{
sum++;
visit[j]=0;
flag=1;
}
if(sum==sl)
break;
}
if(sum==sl)
break;
if(flag==0)
fail++;
if(fail==7)
break;
}
printf("Round %d\n",round);
if(sum==sl)
printf("You win.\n");
else if(fail==7)
printf("You lose.\n");
else
printf("You chickened out.\n");
}
return 0;
}
由于本人愚笨写的代码过于复杂,找了一下题解,看到了一个简单的代码,附上,仅供参考:
#include<iostream>#include<string>#include<cstdio>#include<cstring>using namespace std;int flag,flag2;string sa;int find(char a){ int flag1=0; for(int i=0;i<sa.length();i++) { if(sa[i]==a) { sa[i]='*'; flag1++; flag2--; } } return flag1;}int main(){ int n,i; string sb; while(scanf("%d",&n)!=EOF) { if(n==-1) break; cin>>sa; getchar(); cin>>sb; getchar(); cout<<"Round "<<n<<endl; flag2=sa.length(); flag=0; for(i=0;i<sb.length();i++) { if(flag==7||flag2==0)break; if(find(sb[i])==0) flag++; } if(flag<=7&&flag2==0) { cout<<"You win."<<endl; } else if(flag==7&&flag2!=0) { cout<<"You lose."<<endl; } else { cout<<"You chickened out."<<endl; } sa=""; sb=""; flag=0; } return 0;}此题只要注意下,已经成功过找到的字母再次输入相同的查找时即为失败,即使用一个标记数组visit或者更为简单的直接在第一次找到时将该元素变为其他不会出现的可打印字符。
0 0
- UVA489水题
- 水题:UVa489-Hangman Judge
- uva489
- UVa489
- UVA489
- UVa489
- uva489 题解
- UVa489 (implement)
- UVA489对照字符串
- uva489 Hangman Judge
- uva489-Hangman Judge
- UVa489 Hangman Judge
- Uva489 - Hangman Judge
- UVA489 Hangman Judge
- uva489 Hangman Judge (模拟)
- UVA489 - Hangman Judge
- uva489刽子手游戏
- UVA489-Hangman Judge
- OPENcv从相机采集图像数据-图像处理接口IPLIMAGE结构的指针
- 一个按钮导致的惨案
- static和extern 的区别
- 【无限互联】KYCircleMenu 的实现
- SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
- UVA489水题
- linux环境下django开发环境的搭建
- File Inclusion -low
- OC点语法和变量作用域
- Asp.net中动态Menu的实践
- Eclipse上修改Jython代码的Comment颜色
- 天气API-----开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供)
- Ubuntu 两台电脑用网线搭建一个局域网(学习笔记)
- C++ STL中顺序容器类型以及实现原理