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

一本通1132:石头剪子布

时间:2020-06-20 14:05:17      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:get   pre   iss   while   题目   sci   接下来   char   ||   

题目传送门

【题目描述】

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

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

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

【输入】

第一行是一个整数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\n");
        else if(str1[0]==str2[0]) printf("Tie\n");
        else printf("Player2\n");
    }
	return 0;
}

一本通1132:石头剪子布

标签:get   pre   iss   while   题目   sci   接下来   char   ||   

原文地址:https://www.cnblogs.com/-pwl/p/13168311.html

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