Hangman Judge UVA - 489
https://vjudge.net/problem/UVA-489
也是用来练自顶向下编程,练习用函数来解题的,还是先定好思路,写大体框架,再扩展每个函数的功能。
不难,具体代码里有注解。
#include<iostream> #include<string> #include<algorithm> using namespace std;void Print(int flag, int n)//win 1,lose 0, chickened out -1 {cout << "Round " << n << endl;if (flag == 0)cout << "You lose.";else if (flag == 1)cout << "You win.";else cout << "You chickened out.";cout << endl; }int judge(string &S1,string &S2) {sort(S1.begin(), S1.end());S1.erase(unique(S1.begin(), S1.end()), S1.end());int book[100]; memset(book, 0, sizeof(book));string::iterator it = S1.begin();for (; it != S1.end(); it++) book[*it-65]++;int cnt1 = 0;//猜错次数计数器。int cnt2 = 0;//猜对计数器it = S2.begin();//猜数字while (it != S2.end()&&cnt2!=S1.size())//要判断是否已经全部猜对,防止win后不断猜最终判定为lose的结果。 {if (book[*it-65] != 1) cnt1++;else cnt2++; book[*it-65]--; it++;}bool win = true;//是否赢了?for (int i = 0; i < 100; i++)if (book[i] > 0) win = false;if (cnt1 > 6) return 0;//cnt>6的情况,输了else if (win) return 1;//win==true的情况,赢了else return -1;//否则,没有错完也没有赢,放弃。 } int main() {int n;while (cin >> n){if (n == -1) break;//输入部分string S1, S2;cin >> S1 >> S2;//判断int flag=judge(S1,S2);//输出 Print(flag, n);}return 0; }
转载于:https://www.cnblogs.com/worldcreator-zh/p/10584644.html
Hangman Judge UVA - 489相关推荐
- Hangman Judge, UVa 489
刽子手游戏其实是一款猜单词游戏,如图4- 1所示.游戏规则是这样的:计算机想一个单词 让你猜,你每次可以猜一个字母.如果单词里有 那个字母,所有该字母会显示出来:如果没有那 个字母,则计算机会在一幅& ...
- C++ 刽子手游戏(Hangman Judge, UVa 489)(算法竞赛入门经典例题4-2)
题目:刽子手游戏是一个简单的猜单词游戏,每次可以猜一个字母,如果单词内有这个字母,此单词内所有该字母都会显示,如果没有该字母,则记一笔错误,若满7笔错误,则输掉()猜已经猜出的单词也算错误).本题编写 ...
- 刽子手游戏(Hangman Judeg,Uva 489)
学习心得!(顺便说一下,今天学会了游泳,超级开心!!) 思路:1.在一行里把猜测单词里可能存在的字母全部输入 2.交给计算机来判断,如果超过7次机会,则lose,还有字母没猜完的,chickened ...
- UVA - 489 Hangman Judge
Hangman Judge UVA - 489 题目传送门 PS.此题Udebug有毒,即使100组样例全过,但还是WA,心塞. 这是我自己的代码,悲催的WA了 #include <cstdio ...
- UVa 489 Hangman Judge
又是一个星期五, 开始发UVa的代码了啊! 比较忙的我没有太多练习题目的时间,所以就简简单单的找了一道水题来做,这道题没什么可以说的,所以就直接附上代码 地址在vjudge.net或UVa上 //yi ...
- 489 - Hangman Judge
Hangman Judge In "Hangman Judge," you are to write a program that judges a series of Hangm ...
- 【基础练习】【模拟】Uva489 - Hangman Judge题解
ruka(刘汝佳<算法竞赛入门经典>第二版)第四章的例题,原题目使用函数写的,我读了代码后自己写了一遍,没有用函数,调了十几分钟,写这篇题解总结一下教训. 题目大意是判断输入的字符串是否猜 ...
- 【ACM】UVa 489 刽子手游戏(自顶向下)
[题目] Hangman Judge是一个猜英文单字的小游戏(在电子字典中常会看到),游戏规则如下: 1.答案单字写在纸上(每个字元一张纸),并且被盖起来,玩家每次猜一个英文字元(letter). 2 ...
- UVA489 Hangman Judge【模拟】
In "Hangman Judge," you are to write a program that judges a series of Hangman games. Fo ...
最新文章
- zblog php 当前位置,zblogphp导航当前页突出显示的方法
- Model和ViewModel
- 【学习笔记】37、用正则表达式解析和提取数据
- 谈谈关于MVP模式中V-P交互问题
- android应用对于内存的大小是有限制的,Android 的内存限制
- 【jQuery笔记Part1】06-jQuery对象与js对象转换
- 在线等比数列项数生成器
- MySQL 第六次练习(索引)
- DIAView 嵌入视频监控(海康威视)
- 幼儿-综合素质【1】
- js 获取屏幕高宽_js获取屏幕高度宽度
- Java与数据结构——树(一)
- 为什么RTC晶振频率是32768Hz
- 最新Via轻插件下载
- 不谋一时不足以谋一域_“不谋万世者,不足谋一时。不谋全局者,不足谋一隅”出自哪里?是什么意思?...
- 主流HTML5游戏开发引擎的分析和对比
- webrtc 快速搭建 视频通话 视频会议
- 微信文章排版技巧和相关排版工具
- self和parent的用法
- LVS负载均衡群集——NAT模式实例
热门文章
- WCF编程]WCF使用Net.tcp绑定时候出现错误:元数据包含无法解析的引用
- android内存溢出错误,Android Studio 生成 JavaDoc 空指针异常|文档编码出错|内存溢出...
- python 选择题 多线程_python多线程练习题
- power bi 雷达图_【自助式数据分析平台——WonderBI(豌豆BI)】免费在线试用_软件库...
- 前景检测算法(十七)--基于光流算法
- 数字信号处理--7.3--基础篇
- 嵌入式系统——软件开发模型
- C语言:从键盘输入一个正整数,将该数倒序输出。
- 单链表(线性表的链式存储)---C语言版
- 新的android包格式,在Android中注册新文件类型