大意:
电脑想个单词,玩家来猜。
玩家输入一个个字母,若答案里有这个字母,则显示该单词中所有该字母。
最终目标是显示答案所有字母。
猜错7次,死;

注意特殊条件:
1.玩家不断重复错误的字母,只算一次猜错。
2.如果答案是ans,读入了ansjklzxcv,这种情况算win的。虽然后面错误了7次,但游戏已经在猜出ans时提前结束了。。。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std; const int maxalp=;
const int maxl=;
bool unguessed[maxalp];
bool alreadygussedwrong[maxalp];
int cnt;
char ans[maxl],guess[maxl];
int rnd;
int la,lg;
int ungcnt;
bool lose=false;
bool chickenedout=false;
bool insguess=false;
int main()
{
while(scanf("%d",&rnd))
{
if(rnd==-)break;
memset(unguessed,false,sizeof(unguessed));
memset(alreadygussedwrong,false,sizeof(alreadygussedwrong));
memset(ans,,sizeof(ans));
memset(guess,,sizeof(guess));
cnt=;
lose=false;
chickenedout=false;
insguess=false;
ungcnt=; printf("Round %d\n",rnd);
scanf("%s%s",ans,guess);
la=strlen(ans);
lg=strlen(guess);
for(int i=;i<la;i++)
if(!unguessed[ans[i]-'a'])
{
unguessed[ans[i]-'a']=true;
ungcnt++;
}
for(int i=;i<lg;i++)
{
int ch=guess[i]-'a';
if(unguessed[ch])
{
unguessed[ch]=false;
ungcnt--;
}
else if(!alreadygussedwrong[ch])
{
cnt++;
alreadygussedwrong[ch]=true;
}
if(!ungcnt)
{
printf("You win.\n");
insguess=true;
break;
}
if(cnt==)
{
printf("You lose.\n");
lose=true;
break;
}
}
if(!lose&&!insguess)
for(int i=;i<maxalp;i++)
if(unguessed[i])
{
printf("You chickened out.\n");
chickenedout=true;
break;
}
if(!lose&&!chickenedout&&!insguess)
printf("You win.\n");
} return ;
}

uva 489 Hangman Judge的更多相关文章

  1. UVa 489 Hangman Judge(字符串)

     Hangman Judge  In ``Hangman Judge,'' you are to write a program that judges a series of Hangman gam ...

  2. uva 489.Hangman Judge 解题报告

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  3. uva 489 Hangman Judge(水题)

    题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&am ...

  4. UVA 489 Hangman Judge (字符匹配)

    题意:给一个字符串A,只含小写字符数个.再给一个字符串B,含小写字符数个.规则如下: 1.字符串B从左至右逐个字符遍历,对于每个字符,如果该字符在A中存在,将A中所有该字符删掉,若不存在,则错误次数+ ...

  5. uvaoj 489 - Hangman Judge(逻辑+写代码能力)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. Hangman Judge UVA - 489

    In ``Hangman Judge,'' you are to write a program that judges a series of Hangman games. For each gam ...

  7. UVa 489 HangmanJudge --- 水题

    UVa 489 题目大意:计算机给定一个单词让你猜,你猜一个字母,若单词中存在你猜测的字母,则会显示出来,否则算出错, 你最多只能出错7次(第6次错还能继续猜,第7次错就算你失败),另注意猜一个已经猜 ...

  8. UVA.12169 Disgruntled Judge ( 拓展欧几里得 )

    UVA.12169 Disgruntled Judge ( 拓展欧几里得 ) 题意分析 给出T个数字,x1,x3--x2T-1.并且我们知道这x1,x2,x3,x4--x2T之间满足xi = (a * ...

  9. UVA 12169 Disgruntled Judge 扩展欧几里得

    /** 题目:UVA 12169 Disgruntled Judge 链接:https://vjudge.net/problem/UVA-12169 题意:原题 思路: a,b范围都在10000以内. ...

随机推荐

  1. IOS苹果和百度地图的相关使用

    iOS中使用较多的3款地图,google地图.百度地图.苹果自带地图(高德).其中苹果自带地图在中国使用的是高德的数据.苹果在iOS 6之后放弃了使用谷歌地图,而改用自家的地图.在国内使用的较多的就是 ...

  2. JavaScript、jQuery、fish的遍历方法(each、forEach)总结

    起因 在工作中,需要在遍历的dom中找到第一个并做下操作然后退出遍历,我首先想到了用each方法,但由于无论是公用的jQuery组件还是公司的fish组件.我都忘记了怎么去退出遍历,所以就有了这篇帖子 ...

  3. 不完全解决Android微信HTML5 播放视频的问题(不显示控制条,可交互)

    首先你需要知道以下内容: http://ad.weixin.qq.com/learn/2-3-3--%E9%80%9A%E7%94%A8%E5%BA%93 这是微信为广告商开放的API,我一直认为只有 ...

  4. pycharm快捷键、常用设置、包管理

    pycharm快捷键.常用设置.包管理 在PyCharm安装目录 /opt/pycharm-3.4.1/help目录下可以找到ReferenceCard.pdf快捷键英文版说明 or 打开pychar ...

  5. Sublime Text2 javascript格式化插件JsFormat

    一.安装方法: 按下快捷键 Ctrl+Alt+p 打开命令面板 输入install  这时下拉框第一项就会显示安装包控制器(这个需要初始化安装,不明白的搜索本站关于sublime Text2 的介绍) ...

  6. Goppa code

    上面的公式定义了长度为n的Goppa码[1].n=2^m, 其维度 k≥n- t·m. 最小距离d≥ 2t+1. 存在运行时间与 n·t 成正比的快速译码算法. 从形式上看,右边是分式,相当于线性分组 ...

  7. PBOC~PPT-补充内容B(转)

    PBOC电子现金基于借记/贷记应用上小额支付的一种实现.在借记卡上可以解释为预付,在贷记卡上可以解释为预先授权.预付的金额或预授权额度在卡片中体现为可脱机消费的金额,也就是电子现金余额.电子现金解决方 ...

  8. usb中的传输模式

    别人总结的一个usb传输模式,保存一下 usb中的endpoint(端点)和传输模式 端点: 端点位于USB 外设内部,所有通信数据的来源或目的都基于这些端点,是一个可寻址的FIFO. 每个USB 外 ...

  9. `UnityEditor.EditorUtility' does not contain a definition for `GetMiniThumbnail'

    I got the following errors with Untiy 4.0f7error CS0117: `UnityEditor.EditorUtility' does not contai ...

  10. git 提交代码到github错误处理

    git push -u origin mastererror: The requested URL returned error: 403 Forbidden while accessing http ...