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相关推荐

  1. Hangman Judge, UVa 489

    刽子手游戏其实是一款猜单词游戏,如图4- 1所示.游戏规则是这样的:计算机想一个单词 让你猜,你每次可以猜一个字母.如果单词里有 那个字母,所有该字母会显示出来:如果没有那 个字母,则计算机会在一幅& ...

  2. C++ 刽子手游戏(Hangman Judge, UVa 489)(算法竞赛入门经典例题4-2)

    题目:刽子手游戏是一个简单的猜单词游戏,每次可以猜一个字母,如果单词内有这个字母,此单词内所有该字母都会显示,如果没有该字母,则记一笔错误,若满7笔错误,则输掉()猜已经猜出的单词也算错误).本题编写 ...

  3. 刽子手游戏(Hangman Judeg,Uva 489)

    学习心得!(顺便说一下,今天学会了游泳,超级开心!!) 思路:1.在一行里把猜测单词里可能存在的字母全部输入 2.交给计算机来判断,如果超过7次机会,则lose,还有字母没猜完的,chickened ...

  4. UVA - 489 ​​​​​​​Hangman Judge

    Hangman Judge UVA - 489 题目传送门 PS.此题Udebug有毒,即使100组样例全过,但还是WA,心塞. 这是我自己的代码,悲催的WA了 #include <cstdio ...

  5. UVa 489 Hangman Judge

    又是一个星期五, 开始发UVa的代码了啊! 比较忙的我没有太多练习题目的时间,所以就简简单单的找了一道水题来做,这道题没什么可以说的,所以就直接附上代码 地址在vjudge.net或UVa上 //yi ...

  6. 489 - Hangman Judge

    Hangman Judge In "Hangman Judge," you are to write a program that judges a series of Hangm ...

  7. 【基础练习】【模拟】Uva489 - Hangman Judge题解

    ruka(刘汝佳<算法竞赛入门经典>第二版)第四章的例题,原题目使用函数写的,我读了代码后自己写了一遍,没有用函数,调了十几分钟,写这篇题解总结一下教训. 题目大意是判断输入的字符串是否猜 ...

  8. 【ACM】UVa 489 刽子手游戏(自顶向下)

    [题目] Hangman Judge是一个猜英文单字的小游戏(在电子字典中常会看到),游戏规则如下: 1.答案单字写在纸上(每个字元一张纸),并且被盖起来,玩家每次猜一个英文字元(letter). 2 ...

  9. UVA489 Hangman Judge【模拟】

      In "Hangman Judge," you are to write a program that judges a series of Hangman games. Fo ...

最新文章

  1. zblog php 当前位置,zblogphp导航当前页突出显示的方法
  2. Model和ViewModel
  3. 【学习笔记】37、用正则表达式解析和提取数据
  4. 谈谈关于MVP模式中V-P交互问题
  5. android应用对于内存的大小是有限制的,Android 的内存限制
  6. 【jQuery笔记Part1】06-jQuery对象与js对象转换
  7. 在线等比数列项数生成器
  8. MySQL 第六次练习(索引)
  9. DIAView 嵌入视频监控(海康威视)
  10. 幼儿-综合素质【1】
  11. js 获取屏幕高宽_js获取屏幕高度宽度
  12. Java与数据结构——树(一)
  13. 为什么RTC晶振频率是32768Hz
  14. 最新Via轻插件下载
  15. 不谋一时不足以谋一域_“不谋万世者,不足谋一时。不谋全局者,不足谋一隅”出自哪里?是什么意思?...
  16. 主流HTML5游戏开发引擎的分析和对比
  17. webrtc 快速搭建 视频通话 视频会议
  18. 微信文章排版技巧和相关排版工具
  19. self和parent的用法
  20. LVS负载均衡群集——NAT模式实例

热门文章

  1. WCF编程]WCF使用Net.tcp绑定时候出现错误:元数据包含无法解析的引用
  2. android内存溢出错误,Android Studio 生成 JavaDoc 空指针异常|文档编码出错|内存溢出...
  3. python 选择题 多线程_python多线程练习题
  4. power bi 雷达图_【自助式数据分析平台——WonderBI(豌豆BI)】免费在线试用_软件库...
  5. 前景检测算法(十七)--基于光流算法
  6. 数字信号处理--7.3--基础篇
  7. 嵌入式系统——软件开发模型
  8. C语言:从键盘输入一个正整数,将该数倒序输出。
  9. 单链表(线性表的链式存储)---C语言版
  10. 新的android包格式,在Android中注册新文件类型