UVA489 - Hangman Judge
2016-08-21 01:24
381 查看
问题描述
输入一个要猜测的答案字符串s,猜的字符串s2,判断猜测的字符错误次数为7次以内,7次以内并且全部猜中算赢,如果没猜中,则算放弃,如果错7次或以上则判定为输。
思路
进行比较字符时,将比较成功的字符改成空格,极大简化了步骤。代码
紫书(《算法竞赛入门经典(第二版)》)中的代码简洁明了。#include <iostream> #include <cstdio> #include <cstring> #define maxn 100 using namespace std; int Left, chance; // 还需猜Left个位置,错chance次后就会输 char s[maxn],s2[maxn]; // 答案是字符串s,玩家猜出的字母序列为s2 int win,lose; // win=1为赢,lose=1为输 void guess(char ch) { int bad=1; for(int i=0;i<strlen(s);i++) if(s[i]==ch){Left--;s[i]=' ';bad=0;} if(bad) chance--; if(!chance) lose=1; if(!Left) win=1; } //判断成功后,更改字符为空格然后重新进行判断 int main() { int rnd; while(cin>>rnd&&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; }
相关文章推荐
- UVA 489 - Hangman Judge 未解决未解决未解决未解决
- UVA - 489 Hangman Judge
- Uva 489 - Hangman Judge
- Hangman Judge(自顶而下的程序设计方法)(UVa 489)
- UVA - 489 Hangman Judge
- Uva.489 Hangman Judge
- Uva - 489 - Hangman Judge
- UVA 489 - Hangman Judge
- UVA 489 - Hangman Judge
- UVa-489 - Hangman Judge
- UVA 489 Hangman Judge
- uva 489 Hangman Judge
- Uva 489: Hangman Judge
- Uva - 489 - Hangman Judge
- UVa-489 - Hangman Judge
- UVa 489 Hangman Judge 【模拟】【练习函数的用法】
- UVA - 489 - Hangman Judge
- UVa 489 - Hangman Judge
- UVa 489 Hangman Judge
- UVA489-Hangman Judge