1. 程式人生 > >UVa489-Hangman Judge

UVa489-Hangman Judge

思路:

首先將答案串中的字母標記並計數不同字母個數K,然後遍歷回答的串,如果標記過K–並取消標記,否則錯誤次數D++;
K==0||D>6時退出,判斷輸贏。

程式碼:

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n,i;
    char s[101],me[101];
    while(scanf("%d",&n),~n)
    {
        int k=0,d=0;
        scanf("%s %s",s,me);
        map<char
,int>
mp; for(i=0;i<strlen(s);i++) { if(!mp[s[i]]) k++; mp[s[i]]=1;; } for(i=0;i<strlen(me);i++) { if(mp[me[i]]) {k--;mp[me[i]]=0;} else d++; if(k==0||d>6) break; } printf("Round %d\n"
,n); if(d>6) printf("You lose.\n"); else if(k) printf("You chickened out.\n"); else printf("You win.\n"); } return 0; }