列表

详情


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.")

上一题