一本通1132:石头剪子布

Posted -pwl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一本通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;
}





以上是关于一本通1132:石头剪子布的主要内容,如果未能解决你的问题,请参考以下文章

石头剪子布啥意思?

石头剪子布秘诀_剪刀石头布必胜技巧

“石头剪子布”猜拳游戏是怎么来的?

1-7-04:石头剪子布

石头剪子布的规则

python小游戏,石头/剪子/布