码迷,mamicode.com
首页 > 其他好文 > 详细

UVa 489,紫书P79,刽子手游戏

时间:2016-09-05 20:42:41      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:https://uva.onlinejudge.org/external/4/489.pdf

这个题很像之前的一个拓扑排序的题目,思路类似咯。

程序模块化:

每次判断一个字母,lose,win确定就直接退出。

小技巧:

你可以用数组guess[]记录每个字母是否访问过。要是已经访问过,counts++,算是一种错误。

这里汝佳的小技巧是,每次把相同的字符赋值为‘ ’,记录一下str1的长度,查完str1就win。否则就是You chickened out.

#include <stdio.h>
#include <string.h>

int win ,lose;
int left;
int counts = 0;
char str1[110],str2[110];

void guess(char ch)
{
    bool flag = false;
    for(int i=0;i<strlen(str1);i++)
    {
        if(ch==str1[i])
        {
            str1[i] =  ;
            flag = true;
            left--;
        }
    }
    if(!flag) counts++;
    if(counts>6) lose = 1;
    if(left==0) win = 1;
}

int main()
{
    freopen("input.txt","r",stdin);
    int cases;
    while(scanf("%d",&cases))
    {
        counts = 0;
        if(cases==-1) break;
        printf("Round %d\n",cases);
        scanf("%s%s",str1,str2);
        win = lose = 0;

        left = strlen(str1);
        for(int i=0;i<strlen(str2);i++)
        {
            guess(str2[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,紫书P79,刽子手游戏

标签:

原文地址:http://www.cnblogs.com/TreeDream/p/5843428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!