zoukankan      html  css  js  c++  java
  • 一本通1132:石头剪子布

    题目传送门

    【题目描述】

    石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。

    游戏规则:石头打剪刀,布包石头,剪刀剪布。

    现在,需要你写一个程序来判断石头剪子布游戏的结果。

    【输入】

    第一行是一个整数N,表示一共进行了N次游戏。1 ≤ N ≤ 100。

    接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布):

    S1 S2

    字符串之间以空格隔开S1,S2只可能取值在{"Rock", "Scissors", "Paper"}(大小写敏感)中。

    【输出】

    输出包括N行,每一行对应一个胜利者(Player1或者Player2),或者游戏出现平局,则输出Tie。

    【输入样例】

    3
    Rock Scissors
    Paper Paper
    Rock PaperS

    【输出样例】

    Player1
    Tie
    Player2

    分析:

    这个题我们不需要判断整个字符串。**因为Rock, Scissors, Paper中的第一个字母不同,我们就可以用char只判断第一个字符,这样就会简单了很多。

    Code:

    #include<iostream>
    #include<cstdio>
    #define rg register
    #define ll long long
    using namespace std;
    inline void read(int &x){
    	int f=1;
    	char ch=getchar();
    	x=0;
    	while(ch<'0'||ch>'9'){
    		if(ch=='-') f=-1;
    		ch=getchar();
    	}
    	while(ch>='0'&&ch<='9'){
    		x=x*10+ch-'0';
    		ch=getchar();
    	}
    	x*=f;
    }
    inline void write(int x){
    	if(x<0) putchar('-'),x=-x;
    	if(x>9) write(x/10);
    	putchar(x%10+'0');
    }
    int n;
    string str1,str2;
    int main(){
        read(n);
        for(int i=0;i<n;i++){
            cin>>str1>>str2;
            if(str1[0]=='R'&&str2[0]=='S'||str1[0]=='S'&&str2[0]=='P'||str1[0]=='P'&&str2[0]=='R') printf("Player1
    ");
            else if(str1[0]==str2[0]) printf("Tie
    ");
            else printf("Player2
    ");
        }
    	return 0;
    }
    
    本文欢迎转载,转载时请注明本文链接
  • 相关阅读:
    Linux unalias命令 取消别名
    linux cp 拷贝文件或目录
    POJ 1850
    POJ 1844
    POJ 1852
    POJ 1837
    POJ 1833
    POJ 1804
    POJ 1789
    POJ 1781
  • 原文地址:https://www.cnblogs.com/-pwl/p/13168311.html
Copyright © 2011-2022 走看看