【ACM】UVa 489 刽子手游戏(自顶向下)
【题目】
Hangman Judge是一个猜英文单字的小游戏(在电子字典中常会看到),游戏规则如下:
1、答案单字写在纸上(每个字元一张纸),并且被盖起来,玩家每次猜一个英文字元(letter)。
2、如果这个英文字元猜中(在答案的英文单字中有出现),被猜中的字元就被翻开。例如:答案是book,如果你猜o,book中的两个o就会被视为已猜中。
3、如果这个英文字元未出现在答案的单字中,就会在hangman的图中多加一划。要完成hangman图共需7划,如下图。注意:同一个猜错的字元只能再图上画一划,例如:答案是book,第一次你猜a(未猜中)会在图上画一划,但第二次以后再猜a并不会再多画。
4、如果在hangman图完成之前,玩家已猜中所有答案中的字元,则玩家赢(win)。
5、如果玩家尚未猜中所有答案中的字元而hangman图完成了,,则玩家输(lose)。
6、如果玩家在还没输赢的情况之下就不玩了,那我们说玩家胆小放弃了(chicken out)______ | | | O | /|\ | | | / \ __|_ | |______|_________|你的任务就是要写一个程序根据答案及玩家输入的猜测来判断玩家是赢、输、或放弃。
【输入】
会有好几组测试数据,每一组有3列。第一列为一个数字n,代表第几回合,第二列为这一回合的答案,第三列为这一回合玩家输入的猜测。如果n = -1代表输入结束。
【输出】
请输出每一回合及游戏结果。游戏结果只有三种可能:
You win.
You lose.
You chickened out.
请参考样例输出。【样例输入】
1 cheese chese 2 cheese abcdefg 3 cheese abcdefgij -1【样例输出】Round 1 You win. Round 2 You chickened out. Round 3 You lose.
#include <iostream>
#include <stdio.h>
#include <string.h>
#define maxn 100
int left,chance;//还需要猜测left个位置,错chance次之后就会输
int win,lose;// win=1表示已经赢了,lose=1表示输了
char s[maxn],s2[maxn];//答案是字符串s,玩家猜的字母序列是s2
int main ()
{void guess (char ch);int rnd;while(scanf("%d",&rnd)==1 && rnd!=-1){scanf("%s%s",s,s2);printf("Round %d\n",rnd);win=lose=0;left=strlen(s);chance=7;for(int i=0;i<strlen(s2);i++){guess(s2[i]);if(win || lose) break;}//根据结果进行输出if(win) printf("You win.\n");else if(lose) printf("You lose.\n");else printf("You chickened out.\n");}return 0;
}
void guess (char ch)
{int bad=1;for(int i=0;i<strlen(s);i++){if(ch==s[i]){left--;s[i]=' ';bad=0; }}if(bad) chance--;if(!chance) lose=1;if(!left) win=1;
}
相关文章:

ssh远程执行多个命令
shell远程执行: 经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了。一下介绍两种shell命令远程执行的方法。 前提条件: 配置ssh免密码登陆 对于简单的命令&am…

【ACM】魔方矩阵
输出魔方矩阵 1、将1放在第一行中间一列; 2、从2开始直到nn止各数依次按下列规则存放;每一个数存放的行比前一个数的行数减1,列数加1; 3、如果上一个数的行数为1,则下一个数的行数为n(指最下一行&#x…

iOS 秒数转换成时间,时,分,秒
//转换成时分秒 - (NSString *)timeFormatted:(int)totalSeconds{ int seconds totalSeconds % 60; int minutes (totalSeconds / 60) % 60; int hours totalSeconds / 3600; return [NSString stringWithFormat:"%02d:%02d:%02d",hours, minutes,…

charles和Fiddler感觉哪个更好用
1.fiddler还可以抓HTTPS的包,解析出来都可以2.charles更直观,可能是我先用charles的缘故。charles遍历一个站点,可以右键另存,保存全站文件资源。扒站首选, charles也可以抓https,我改游戏也是抓的https包

systemd用法
一、开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。 $ sudo systemctl enable http…

C#实现php的hash_hmac函数
from:http://blog.csdn.net/ciaos/article/details/12618487 PHP代码示例如下<?php $res1 hash_hmac("sha1","signatureString", "secret");echo $res1."\n";//ee1b654aa861c41fd5813dc365ef106c9801f8f6echo base64_encode($res…
【ACM】杭电OJ 2015
注意输出格式!!!! #include <iostream> #include <cstring> using namespace std; int main () {int m,n,i,sum,flag;while(cin>>n>>m){sum0;flag0;for(i1;i<n;i){sum(2*i);flag;if(flagm){sum/m;cou…

AGC002[BCDEF]题解
F是计数于是就做(kan ti jie)了 B - Box and Ball 模拟一下 每个盒子开一个d表示有的球数 可能存在红球的打个标记 传递一下就行了 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define inf 2002…

物联网11种通信协议
今天的网络通信技术也是日新月异,有众所周知的WIFI、Bluetooth、Zigbee、2G、3G、4G蜂窝网络,也有新兴的LiFi、AirGig、量子通信等,更有物联网产业爆发前夜,市场衍生出来的一些比较有前景的通信技术,如以窄带物联网NB&…

php 数组的使用
2019独角兽企业重金招聘Python工程师标准>>> 一、字符串和对象,数组之间的相互转换 public function index(){$product array();$product["name"] "apple";$product["price"] 6000;$products array();$products[] $pr…

【ACM】图像旋转
逆时针 //图像旋转 #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> using namespace std; int main () {int a[105][105];int m,n,i,j;while(scanf("%d%d",&n,&m)!EOF)//n行m列 {for(i0;i<n;i…
do一下来了一个redux
导语 一开看redux的时候还是比较蒙的,感觉比较绕,但是又好像是那么回事,接触一个新概念的时候可能都是如此,多去接触就熟悉了,今天就来分享下redux的三大核心为什么就能如此神奇的施展魔法,干撸完源码&…
JavaMail API 概述
JavaMail API提供了一种与平台无关和协议独立的框架来构建邮件和消息应用程序。 JavaMail API提供了一组抽象类定义构成一个邮件系统的对象。它是阅读,撰写和发送电子信息的可选包(标准扩展)。 JavaMail 规定,用于构造一个接口&am…

利用c语言结构体和union实现类似c++的public,private的实现
最近在看strongswan源代码,看到strongswan的代码框架很有意思,用C语言实现类的思想。当我们编写完一个模块,我们需要提供的是H的文件给其他模块使用,我们希望H文件中就只能包含一些公有函数,和一些类型的申明ÿ…

【ACM】连续出现的字符
【描述】给定一个字符串,在字符串中找到第一个连续出现k次的字符 【输入】第一行包含一个正整数k,表示至少需要连续出现的次数。1<k<1000。第二行包含需要查找的字符串。字符串的长度在1到1000之间,且不包含任何空白字符。 【输出】若…

Django使用数据库(Mariadb/Mysql)
Django默认使用SQLite作为数据库,配置文件在settings.py 让我们来看一下 """ Django settings for test1 project.Generated by django-admin startproject using Django 2.1.4.For more information on this file, see https://docs.djangoproject.…

I2C和SPI总线优缺点对比
IIC vs SPI现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(…

查看CentOS的网络带宽出口
检查维护系统的时候,经常会要查看服务器的网络端口是多大的,所以需要用到Linux的一个命令。 如何查看CentOS的网络带宽出口多大?可以用下面的命令来查看。 # ethtool eth0 前面是命令,后面跟的是设备名,如果对外连接的…

【ACM】删数问题(待更)
【描述】键盘输入一个正整数N,去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S寻找一种方案使得剩下的数字组成的新数最小。(N不超过240位,N>S) 【输入】两行,第一行…

2019,商业智能的10大未来趋势
2019独角兽企业重金招聘Python工程师标准>>> 当我们深思熟虑接下来会发生什么时,Tableau 收集了来自内外部专家的广泛意见。内部专家们把握着行业的脉搏,并与世界各地成千上万的客户接洽交流;外部专家们则与众多数据团队并肩作战&…

c语言信号机制以及中断
用户态到内核态切换途径: 1:系统调用 2:中断 3:异常 中断类型分为如下两大类: 一、强迫性中断:正在运行的程序所不期望的,来自硬件故障或外部请求。 1、I/O 中断:来自…

【ACM】纸牌搭建
【题目】现有N张扑克牌,最多可以搭建几层 【题目分析】找到通项公式 f[ i ]f[ i-1 ]3*i-1。先打出表,再二分搜索。不断缩小范围。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using na…

DataBase 之 拉链表结构设计
一、概念 拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。 在历史表中对客户的一生的记录可能就这样几条记录,避免了按每…

给每个函数写一个记录日志的功能.
# 功能要求: 每一次调用函数之前, 要将函数名称, 时间节点记录到log的日志中.# 所需模块:# import time## def logger(fn):# def inner(*args, **kwargs):# # fn.__name__ # 函数名字# f open("log", mode"a", encoding"utf-8&q…

c如何正常中断一个运行的线程
最近开发一些东西,线程数非常之多,当用户输入CtrlC的情形下,默认的信号处理会把程序退出,这时有可能会有很多线程的资源没有得到很好的释放,造成了内存泄露等等诸如此类的问题,本文就是围绕着这么一个使用场…

Vertica 分区表设计(续)
在上篇Vertica 分区表设计中,已经提过了Vertica的分区表创建和分区删除,但举例上并不系统, 本篇文章将系统的对分区表设计及后续的删除分区进行讲解。 概述:Vertica分区表(天和月)创建以及删除分区 1.分区表…

【ACM】杭电OJ 1181
http://acm.hdu.edu.cn/showproblem.php?pid1181 DFS搜索(递归函数) #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cstdlib> using namespace std; char s[1000]; int k…

最热开源无服务器函数:五大Fission架构参考
“无服务器”现在是极具诱惑的技术趋势,没有什么比管理服务器更让人痛苦。亚马逊、微软和谷歌都在云中提供无服务器专有接口。相较于这些云供应商的商业化产品,开源无服务器架构可免于被云厂商锁定,但要以牺牲云便利性和易用性为代价。近一年…
高德API+Python解决租房问题
项目简介:编写Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围,附上公交路径规划功能查看不同路径的用时。 本教程由ekCit发布在实验楼,完整教程及在…

SIMD向量化运算
随着机器学习等人工智能技术的飞速发展,矩阵乘法的应用越来越多,intel芯片先后提供了不同系列的向量指令,包括mmx、sse、avx等,支持simd操作。后来为了更好地支持矩阵乘法,又增加了fma(Fused Multiply-Add&…