uva 489 Hangman Judge
大意:
电脑想个单词,玩家来猜。
玩家输入一个个字母,若答案里有这个字母,则显示该单词中所有该字母。
最终目标是显示答案所有字母。
猜错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的更多相关文章
- UVa 489 Hangman Judge(字符串)
Hangman Judge In ``Hangman Judge,'' you are to write a program that judges a series of Hangman gam ...
- uva 489.Hangman Judge 解题报告
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- uva 489 Hangman Judge(水题)
题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&am ...
- UVA 489 Hangman Judge (字符匹配)
题意:给一个字符串A,只含小写字符数个.再给一个字符串B,含小写字符数个.规则如下: 1.字符串B从左至右逐个字符遍历,对于每个字符,如果该字符在A中存在,将A中所有该字符删掉,若不存在,则错误次数+ ...
- uvaoj 489 - Hangman Judge(逻辑+写代码能力)
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- Hangman Judge UVA - 489
In ``Hangman Judge,'' you are to write a program that judges a series of Hangman games. For each gam ...
- UVa 489 HangmanJudge --- 水题
UVa 489 题目大意:计算机给定一个单词让你猜,你猜一个字母,若单词中存在你猜测的字母,则会显示出来,否则算出错, 你最多只能出错7次(第6次错还能继续猜,第7次错就算你失败),另注意猜一个已经猜 ...
- UVA.12169 Disgruntled Judge ( 拓展欧几里得 )
UVA.12169 Disgruntled Judge ( 拓展欧几里得 ) 题意分析 给出T个数字,x1,x3--x2T-1.并且我们知道这x1,x2,x3,x4--x2T之间满足xi = (a * ...
- UVA 12169 Disgruntled Judge 扩展欧几里得
/** 题目:UVA 12169 Disgruntled Judge 链接:https://vjudge.net/problem/UVA-12169 题意:原题 思路: a,b范围都在10000以内. ...
随机推荐
- 学习视频更新管理,对于前面数据库视频资料,以及.net资料失效感到抱歉
首先,对不起,各位网友,我知道也都是好学的的人才会来查找视频,抱歉视频失效了.以后有需要的可以常联系我,有错误定当及时改正.如有延误多多包含. 上一次发的.net学习视频失效了,我决定帮大家多找一些学 ...
- IE11 iframe alternative
<OBJECT classid=clsid:8856F961-340A-11D0-A96B-00C04FD705A2> <PARAM NAME=Location VALUE=http ...
- gradle相关配置内容解析
gradle 项目的构建工具,基于groovy语言.主要用于管理依赖包. as中一般将gradle下载在C:\Documents and Settings<用户名>.gradle\wrap ...
- Dictionary<k,v>键值对的使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dict ...
- android持久化技术
Android系统提供了3种持久化技术,所谓持久化技术是指将内存中的书籍保存在存储设备中. 1.文件存储 2.sharedPreference存储 3.数据库存储 除此之外,还可以将数据保存在SD卡中
- TAP/TUN摘要
TUN适用于IP帧.Tap适用于以太网帧.TAP摸拟一个以太网设备(以arp广播MAC识别),它操作第二层数据包如以太网数据帧.TUN模拟了网络层ip设备(以点对点的方式,使用ip标识),操作第三层数 ...
- 20个人艰不拆的事实:知道真相的我眼泪掉下来 T.T
20个人艰不拆的事实:知道真相的我眼泪掉下来 T.T 原文链接http://www.u148.net/article/113612.html 来源:ruoning WuMo是丹麦画家Mikael Wu ...
- jQuery插件解析
简单的插件demo //sample:扩展jquery对象的方法,bold()用于加粗字体. (function ($) { $.fn.extend({ "bold": funct ...
- 20145224&20145238 《信息安全系统设计基础》 第五次实验
20145224&20145238 <信息安全系统设计基础>第五次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...
- 【LeetCode】#344 Reverse String
[Question] Write a function that takes a string as input and returns the string reversed. Example: G ...