UVa 489 Hangman Judge(字符串)】的更多相关文章

 Hangman Judge  In ``Hangman Judge,'' you are to write a program that judges a series of Hangman games. For each game, the answer to the puzzle is given as well as the guesses. Rules are the same as the classic game of hangman, and are given as follo…
题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=430题意:两个字符串,第二个不能错七次,不能重复 思路:今天是帮学弟看题的,没帮学弟看出错误来...真惭愧... 于是自己写了一个.. #include <iostream> #include <cstring> using namespace std; int…
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=430 #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> using namespace std; ; int l, chance;…
题意:给一个字符串A,只含小写字符数个.再给一个字符串B,含小写字符数个.规则如下: 1.字符串B从左至右逐个字符遍历,对于每个字符,如果该字符在A中存在,将A中所有该字符删掉,若不存在,则错误次数+1. 2.当错误次数达到7时,游戏结束,输了lose. 3.当串A中已经没有字符了,游戏结束,赢了win.(串B后面还没遍历到的也不用遍历了) 4.当错误次数没到达7,但是字符串A还有剩下的字符没消去,则chickened out. 错满7个就输,在满7个之前匹配完了就赢,在满7个之前没匹配完就ch…
大意:电脑想个单词,玩家来猜.玩家输入一个个字母,若答案里有这个字母,则显示该单词中所有该字母.最终目标是显示答案所有字母.猜错7次,死: 注意特殊条件:1.玩家不断重复错误的字母,只算一次猜错.2.如果答案是ans,读入了ansjklzxcv,这种情况算win的.虽然后面错误了7次,但游戏已经在猜出ans时提前结束了... #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib…
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=430 猜单词游戏.计算机给出一个字符串让你猜,每次猜一个字母.如果字符串中有那个字母,所有该字母都会显示出来.猜错7次就输了,全猜完算赢.到最后也没猜完,算放弃. 这题主要考逻辑能力.每次猜一个字母,就判断一次是已经赢了,还是输了. #include<bits/stdc++.h>…
In ``Hangman Judge,'' you are to write a program that judges a series of Hangman games. For each game, the answer to the puzzle is given as well as the guesses. Rules are the same as the classic game of hangman, and are given as follows: The contesta…
UVa 489 题目大意:计算机给定一个单词让你猜,你猜一个字母,若单词中存在你猜测的字母,则会显示出来,否则算出错, 你最多只能出错7次(第6次错还能继续猜,第7次错就算你失败),另注意猜一个已经猜过的单词也算出错, 给定计算机的单词以及猜测序列,判断玩家赢了(You win).输了(You lose).放弃了(You chickened out) /* UVa 489 HangmanJudge --- 水题 */ #include <cstdio> #include <cstring…
UVA.12169 Disgruntled Judge ( 拓展欧几里得 ) 题意分析 给出T个数字,x1,x3--x2T-1.并且我们知道这x1,x2,x3,x4--x2T之间满足xi = (a * xi-1 + b ) MOD 10001, 求出x2,x4--x2T. 由于本题中的a和b是未知的,所以需要根据已知条件求出a和b,据说有人暴力枚举a和b然后过了. 所以我来换另一种方法. 其实我们可以枚举a,并根据x1,x3算出求出可行的b的值.如何做到呢? 首先我们已经知道 x2 = (a *…
/** 题目:UVA 12169 Disgruntled Judge 链接:https://vjudge.net/problem/UVA-12169 题意:原题 思路: a,b范围都在10000以内.暴力枚举1e8:但是还要判断.所以时间不够. 如果可以枚举a,然后算出b,再判断可行性,那么时间上是可行的.但是是多次方的方程无法解. 想其他办法: xi = (a*xi-1 + b) % 10001 xi+1 = (a*xi+b)%10001 xi+2 = (a*xi+1+b)%10001 =>…
#include<stdio.h> #include<string.h> int ok ,no; int left ,chance; char s[20] ,s2[20]; void guess(char ch) { int i ,bad = 1; for(i = 0;i < strlen(s);i++) { if(ch == s[i]) { left--; bad = 0; s[i] = ' '; } } if(bad) chance--; if(!left) { ok =…
刽子手游戏其实是一款猜单词游戏,游戏规则是这样的:计算机想一个单词让你猜,你每次可以猜一个字母.如果单词里有那个字母,所有该字母会显示出来:如果没有那个字母,则计算机会在一幅“刽子手”画上填一笔.这幅画一共需要7笔就能完成,因此你最多只能错6次.注意,猜一个已经猜过的字母也算错. 在本题中,你的任务是编写一个“裁判”程 序,输入单词和玩家的猜测,判断玩家赢了 (You win.).输了(You lose.)还是放弃了 (You chickened out.).每组数据包含3行,第1行是游戏编号(…
题目链接:https://uva.onlinejudge.org/external/4/489.pdf 这个题很像之前的一个拓扑排序的题目,思路类似咯. 程序模块化: 每次判断一个字母,lose,win确定就直接退出. 小技巧: 你可以用数组guess[]记录每个字母是否访问过.要是已经访问过,counts++,算是一种错误. 这里汝佳的小技巧是,每次把相同的字符赋值为‘ ’,记录一下str1的长度,查完str1就win.否则就是You chickened out. #include <stdi…
Problem Description Ignatius is building an Online Judge, now he has worked out all the problems except the Judge System. The system has to read data from correct output file and user's result file, then the system compare the two files. If the two f…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3321 题意: 有个裁判出的题太难,总是没人做,所以他很不爽.有一次他终于忍不住了,心想:“反正我的题没人做,我干嘛要费那么多心思出题?不如就输入一个随机数,输出一个随机数吧.”于是他找了3个整数x1.a和b,然后按照递推公式xi = (a * x(i-1) + b) mod 100…
题意: 定义a为一个字符串,a*a表示两个字符相连,即 an+1=a*an ,也就是出现循环了.给定一个字符串,若将其表示成an,问n最大为多少? 思路: 如果完全不循环,顶多就是类似于abc1这样,即n=1.但是如果循环出现了,比如abab,那就可以表示成(ab)2.还有一点,就是要使得n尽量大,那么当出现abababab时,应该要这么表示(ab)4,而不是(abab)2. 此题用神奇的KMP解决,也就是主要利用next数组.举例说明. 一般出现循环的都会大概是这样的:abcabcabc.而这…
题目链接:https://vjudge.net/problem/UVA-489 题意:给出两行字符串,第一行是标准答案,第二行是玩家猜的串.玩家每次猜一个,猜对一个,标准答案中所有该字符都算被猜到.猜错的次数不能到达七次.多次因同一个字符猜错算猜错一次(这个条件没有用). 猜对, 没猜对且错了七次, 没猜对但还没错到七次 分别输出 You win. You lose. You chickened out. 题解:模拟,莫名奇妙wa了一个小时.各种修改. 以至于找到了一组数据,oj检测不出来,手算…
Online Judge Problem Description Ignatius is building an Online Judge, now he has worked out all the problems except the Judge System. The system has to read data from correct output file and user's result file, then the system compare the two files.…
给你n(n为偶数)个字符串,让你找出一个长度最短且字典序尽量小的字符串,使得一半的字符串小于等于该串,一半的字符串大于该串. 紫薯上说这道题有坑,但其实思路对了就没什么坑. 很明显,只要取夹在中间两个字符串间的最小字符串就行了.可以从小到大枚举字符串的长度,如果该长度下存在满足条件的字符串则返回结果,否则把较小的字符串上对应位的字符加到末尾就行了. 因为想错思路WA了好几次,最后一次WA居然是忘了判断n=0的情况...(为什么我总是完美避开正确答案,QAQ) #include<bits/stdc…
题意:就是给出一个字符串,让你去一个一个猜测,相同字母算一次,如果是之前猜过的也算错,如果你在错7次前猜对就算你赢,文章中是LRJ的例题代码. #include<stdio.h> #include<string.h> #define maxn 100 int left, chance; char s[maxn], s2[maxn]; int win, lose; void guess(char ch) { int bad = 1; for(int i = 0; i < str…
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1332 题目大意: 给定一个词典(已经按照字典序排好),要求找出其中所有的复合词,即恰好由两个单词连接而成的单词.(按字典序输出) 思路: 对于每个单词,存入Hash表,然后对每个单词拆分. Hash函数的选取可以看:https://www.byvoid.com/blog/string-has…
题目大意:有3个整数 x[1], a, b 满足递推式x[i]=(a*x[i-1]+b)mod 10001.由这个递推式计算出了长度为2T的数列,现在要求输入x[1],x[3],......x[2T-1], 输出x[2],x[4]......x[2T]. T<=100,0<=x<=10000. 如果有多种可能的输出,任意输出一个结果即可. 由于a和b都小于等于10000,直接枚举a和b暴力可以过.但是有没有更快的方法呢? 首先令递推式的i=2,那么x[2]=(a*x[1]+b)mod 1…
题意:随机选取x1,a,b,根据公式xi=(a*xi-1+b)%10001得到一个长度为2*n的序列,奇数项作为输入,求偶数项,若有多种,随机输出一组答案. 思路:a和b均未知,可以考虑枚举a和b,时间复杂度为10000*10000*100,但是题目数据比较水,这样枚举也是能过的.高效的做法是:枚举a,根据以下公式求出b. a*x1+b - MOD*y1 = x2; a*x2+b - MOD*y2 = x3; 解得: x3 - a*a*x1=(a+1)*b + MOD * y; 该方程为关于变量…
游戏规则,计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有那个字母,所有该字母都会显示出来,如果没有那个字母则计算机会在一副"刽子手"画上填一笔,这幅画一共需要7笔就能完成,因此你最多只能错6次.注意猜一个已经猜过的字母也算错.在本题中,你的任务是编写一个"裁判"程序,输入单词和玩家的猜测,判断玩家赢了,(You win.).输了(You lose.).还是放弃了(You chickened out.)每组包含3行,第一行是游戏编号(-1为输入结束标记),…
题意:給定兩個小寫的字串a與b,請印出皆出現在兩字串中的字母,出現的字母由a~z的順序印出,若同字母出現不只一次,請重複印出但不能超過任一字串中出現的次數.(from Ruby兔) 很水,直接比较输出即可. 代码: #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 1001; int main() { char a[maxn],…
当初学KMP的时候也做过这道题,现在看来还是刘汝佳的代码要精简一些,毕竟代码越短越好记,越不容易出错. 而且KMP的递推失配函数的代码风格和后面的Aho-Corasick自动机求失配函数的代码风格也是一致的. #include <cstdio> + ; char s[maxn]; int f[maxn]; //失配函数 int main() { //freopen("in.txt", "r", stdin); ; && n) { getc…
我该怎么说这道题呢...说简单其实也简单,就枚举模拟,开始卡了好久,今天看到这题没a又写了遍,看似会超时的代码交上去a了,果然实践是检验真理的唯一标准... #include <iostream> #include <cstring> #include <cstdio> using namespace std; ; int main (){ ]; int n; while (~scanf ("%d",&n)){ ;i<*n;i+=) s…
//数据是有多水 连 10^10的枚举都能过 关于拓展欧几里德:大概就是x1=y2,y1=x2-[a/b]y2,按这个规律递归到gcd(a,0)的形式,此时公因数为a,方程也变为a*x+0*y=gcd(a,0)的形式,显然解为x=1,y=0,然后再递归回去就能得到解(a*x+b*y=gcd(a,b)的解) #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #incl…
题目:给你一些题目的输出结果,推断是AC,PE还是WA. 分析:模拟. 依照题意模拟就可以,注意PE条件为全部数字字符出现顺序同样就可以. 说明:想起非常多年前写的OJ的后台判题程序了╮(╯▽╰)╭. #include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #include <cmath> usin…
题意:给你画了一颗树,你要把它的前序输出. 题解:读进到二维数组.边解析边输出. 坑:少打了个-1. #define _CRT_SECURE_NO_WARNINGS #include<cstring> #include<cctype> #include<cmath> #include<cstdio> #include<string> #include<stack> #include<list> #include<se…