细节上我和人家没得比
毕竟咱取了巧没看原题,只凑合了个大概
但是我感觉思想上还是代某先进那么一点点

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <ctype.h>
#include <queue>
#include <stack>
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

const int maxn = 100;
int win;
int lef;//left保留字不要用 目标词还有几个没有被够着
int lose;
int chance;//还有几次猜错的机会
char s[maxn] = {0};
char s2[maxn] = {0};

void guess(char ch)//s2从头到尾来这走一遭
{
    int bad = 1;//默认不中
    for(int i = 0; i < strlen(s); i++)
    {
        if(s[i] == ch)
        {
            lef--;//哎 没有捞出来的又少了一个
            s[i] = ' ';
            bad = 0;//不好意思 百步穿杨
        }//没有立即break的原因是这种字母可能重复出现
    }
    if(bad)//如果猜不中
    {
        chance--;
    }
    if(!chance)//机会没了
    {
        lose = 1;
    }
    if(!lef)//全捞出来了
    {
        win = 1;
    }
}

int main()
{
    int rnd;//本意round第几轮的意思因为保留字而用缩略
    while(scanf("%d%s%s",&rnd,s,s2) == 3 && rnd != -1)
    {
        printf("Round %d\n",rnd);
        win = lose = 0;
        lef = 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;
}