【紫书】uva489 Hangman Judge 做了很久Orz
题目链接:https://vjudge.net/problem/UVA-489
题意:给出两行字符串,第一行是标准答案,第二行是玩家猜的串。玩家每次猜一个,猜对一个,标准答案中所有该字符都算被猜到。猜错的次数不能到达七次。多次因同一个字符猜错算猜错一次(这个条件没有用)。
猜对,
没猜对且错了七次,
没猜对但还没错到七次
分别输出
题解:模拟,莫名奇妙wa了一个小时。各种修改。
以至于找到了一组数据,oj检测不出来,手算明显是错的:
word
aerbmzagword
ac代码是You lose., 手算是You win.
其实我错的是这一行:
24 if (a[s2[i]]==1)a[s2[i]] = 0, num--;
之前写成了 a[s2[i]] = -1
这样的话如果下次再次出现之前已经猜到了的字符,会计算一次错误,然后gg(紫书写的“猜一个已经猜过的字母也算错”是错的,我敲了一遍书上的代码也是wa的)
(坑)
附ac代码:用了字符为下标的数组a[256]来简化,num来判断是否全部猜到,
#include<string.h>
#include<iostream>
#include<string> using namespace std; int a[];
int main()
{
int n;
int kase = ;
while (cin >> n) {
if (n == -)break;
string s1, s2;
cin >> s1 >> s2;
memset(a, -, sizeof(a));
int len = s1.size(); int num = ;
for (int i = ; i < len; i++)if (a[s1[i]]==-) {
a[s1[i]] = ; num++;
}
int cnt = ; int ok = ;
len = s2.size();
for (int i = ; i < len; i++) {
if (a[s2[i]]==)a[s2[i]] = , num--;
//else cnt++;(替代下一行也ac)
if (a[s2[i]] == -)cnt++;
if (cnt >= )break;
if (num == ) {
break;
}
}
cout << "Round ";
cout << n << endl;
if (num==)cout << "You win." << endl;
else if (cnt >= )cout << "You lose." << endl;
else cout << "You chickened out." << endl;
} return ; }
【紫书】uva489 Hangman Judge 做了很久Orz的更多相关文章
- UVA489 - Hangman Judge【紫书例题4.2】
题意:就是给出一个字符串,让你去一个一个猜测,相同字母算一次,如果是之前猜过的也算错,如果你在错7次前猜对就算你赢,文章中是LRJ的例题代码. #include<stdio.h> #inc ...
- UVa 12169 Disgruntled Judge 紫书
思路还是按照紫书,枚举a,得出b, 然后验证. 代码参考了LRJ的. #include <cstdio> #include <iostream> using namespace ...
- 【紫书】(UVa12096) The SetStack Computer
突然转进到第五章的low题目的原因是做到图论了(紫书),然后惊喜的发现第一题就做不出来.那么里面用到了这一题的思想,我们就先解决这题.当然,dp必须继续做下去,这是基本功.断不得. 题意分析 这条题真 ...
- 紫书 习题 11-8 UVa 1663 (最大流求二分图最大基数匹配)
很奇怪, 看到网上用的都是匈牙利算法求最大基数匹配 紫书上压根没讲这个算法, 而是用最大流求的. 难道是因为第一个人用匈牙利算法然后其他所有的博客都是看这个博客的吗? 很有可能-- 回归正题. 题目中 ...
- 紫书 习题8-7 UVa 11925(构造法, 不需逆向)
这道题的意思紫书上是错误的-- 难怪一开始我非常奇怪为什么第二个样例输出的是2, 按照紫书上的意思应该是22 然后就不管了,先写, 然后就WA了. 然后看了https://blog.csdn.net/ ...
- UVA 816 Abbott's Revenge 紫书
紫书的这道题, 作者说是很重要. 但看着题解好长, 加上那段时间有别的事, 磨了几天没有动手. 最后,这道题我打了五遍以上 ,有两次被BUG卡了,找了很久才找到. 思路紫书上有,就缺少输入和边界判断两 ...
- UVa 489 Hangman Judge(字符串)
Hangman Judge In ``Hangman Judge,'' you are to write a program that judges a series of Hangman gam ...
- 紫书 例题8-12 UVa 12627 (找规律 + 递归)
紫书上有很明显的笔误, 公式写错了.g(k, i)的那个公式应该加上c(k-1)而不是c(k).如果加上c(k-1)那就是这一次 所有的红气球的数目, 肯定大于最下面i行的红气球数 我用的是f的公式, ...
- 紫书 习题 11-9 UVa 12549 (二分图最小点覆盖)
用到了二分图的一些性质, 最大匹配数=最小点覆盖 貌似在白书上有讲 还不是很懂, 自己看着别人的博客用网络流写了一遍 反正以后学白书应该会系统学二分图的,紫书上没讲深. 目前就这样吧. #includ ...
随机推荐
- More than the maximum number of request parameters
前些时间,我们的的一个管理系统出现了点问题,原本运行的好好的功能,业务方突然讲不行了,那个应用已经运行了好多年了,并且对应的代码最近谁也没改动过,好奇怪的问题,为了解决此问题,我们查看了日志,发现请求 ...
- 爬虫 需要什么样的 CPU,内存 和带宽
所有的需求都看这个图片吧,这个就是我爬取一个网站所用的服务器和服务器资源的消耗情况.
- Android studio ButterKnife插件
1.功能:给所有的有id的控件添加注解 2.github地址 https://github.com/avast/android-butterknife-zelezny 3.插件下载地址 http:// ...
- Socket网络编程--聊天程序(1)
很早的一段时间,看了APUE和UNPv1了解了网络编程,但是但是只是看而已,没有具体的实践,趁现在没有什么事做,就来实践了解一下网络编程.写博客保存下来,方便以后用到的时候可以查到. 此次的聊天程序是 ...
- IOS开发之Storyboard应用
制作一个Tab类型的应用 制作一个表格视图 原型表格单元 设计自定义的原型单元格 为原型单元格设置子类 故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明 ...
- YII页面显示trace
修改protected/config/main.php 'db'=>array( 'connectionString' => 'mysql:host=localhost;dbname=te ...
- java中的数据加密4 数字签名
数字签名 它是确定交换消息的通信方身份的第一个级别.A通过使用公钥加密数据后发给B,B利用私钥解密就得到了需要的数据,问题来了,由于都是使用公钥加密,那么如何检验是A发过来的消息呢?上面也提到了一点, ...
- 【LINUX】——如何配置宿主机和虚拟机IP在同一网段
宿主机:win7 10.8.2.50 255.255.255.0 虚拟机:redhat 如果使用 NAT 的网络连接方式,虚拟机的 IP 会被分配为 192.168.*.* 网段,从虚拟机 ping ...
- 第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置
第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置 主题设置是在xadmin\plugins\themes.py这个文件 默认xadmin是通过下面这 ...
- 转:UML工具Astah的使用
原文链接:http://blog.csdn.net/vipygd/article/details/9182247 前言 UML是软件工程中非常重要的知识点.我们经常要去展示各种UML图,当然,我们要将 ...