PAT-GPLT_L1-044. 稳赢

L1-044. 稳赢

时间限制 内存限制 代码长度限制 判题程序 作者
400ms 65536kB 8000B Standard 陈越

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

石头剪刀布

现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。

输入格式:

输入首先在第一行给出正整数K(<=10),即平局间隔的次数。随后每行给出对方的一次出招:“ChuiZi”代表“锤子”、“JianDao”代表“剪刀”、“Bu”代表“布”。“End”代表输入结束,这一行不要作为出招处理。

输出格式:

对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。

输入样例:

2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End

输出样例:

Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu

Code [C]

#include <stdio.h>
int main()
{
    char s1[3]= {'B','u'}; //布
    char s2[7]= {'C','h','u','i','Z','i'}; //锤子
    char s3[8]= {'J','i','a','n','D','a','o'}; //剪刀
    int K;
    scanf("%d", &K); //平局间隔数
    int c=0; //间隔统计
    char s[15]; //输入
    while(~scanf("%s", s))
    {
        if(s[0]=='C') //锤子
        {
            c++; //统计次数
            if(c>K) //如果过了K次则平局
            {
                printf("%s\n", s);
                c=0;
            }
            else printf("%s\n", s1);
            //如果没有平局,输出布。
        }
        else if(s[0]=='B')
        {
            c++;
            if(c>K)
            {
                printf("%s\n", s);
                c=0;
            }
            else printf("%s\n", s3);
        }
        else if(s[0]=='J')
        {
            c++;
            if(c>K)
            {
                printf("%s\n", s);
                c=0;
            }
            else printf("%s\n", s2);
        }
        else if(s[0]=='E')
            break; //End结束
    }
    return 0;
}

标签: C, PAT, GPLT

添加新评论