NC50781. 你的粪坑v1
描述
剪刀石头布,谁输谁吃屎。
输入描述
第一行一个整数T,代表测试数据个数。
每个测试数据包括两行数据。
第一行数据为两个字符串A,X1,代表A同学的出拳为X1。
第二行数据为两个字符串B,X2,代表B同学的出拳为X2。
其中A,B是字符串,长度为[0,10],代表同学名字。
其中X1,X2是字符串,内容为"jiandao","shitou","bu"三者之一。
输出描述
对每个测试数据
A同学赢输出"{$B} chishi.",其中{$B}代表B同学名字
B同学赢输出"{$A} chishi.",其中{$A}代表A同学名字
如果平局,输出"yi qi chi shi."
示例1
输入:
3 jiang jiandao wang shitou jiang bu wang jiandao jiang shitou wang shitou
输出:
jiang chishi. jiang chishi. yi qi chi shi.
说明:
注意空格C++11(clang++ 3.9) 解法, 执行用时: 5ms, 内存消耗: 488K, 提交时间: 2019-07-10 21:32:03
#include<bits/stdc++.h> using namespace std; map<string,string> p; int main() { p["shitou"]="jiandao"; p["bu"]="shitou"; p["jiandao"]="bu"; int t;cin>>t; while(t--){ string a,b,x1,x2; cin>>a>>x1>>b>>x2; if(x1==x2)printf("yi qi chi shi.\n"); else if(p[x1]==x2)cout<<b<<" chishi.\n"; else cout<<a<<" chishi.\n"; } return 0; }
Python3 解法, 执行用时: 36ms, 内存消耗: 4520K, 提交时间: 2022-11-13 19:16:13
n=int(input()) for i in range(n): s1,op1=map(str,input().split()) s2,op2=map(str,input().split()) if op1==op2: print("yi qi chi shi.") elif (op1=="jiandao" and op2=="bu") or (op1=="shitou" and op2=="jiandao") or (op1=="bu" and op2=="shitou"): print(s2,"chishi.") else: print(s1,"chishi.")