列表

详情


NC24908. 石头剪刀布

描述

石头剪刀布是一个人人都喜欢玩的休闲小游戏,其制胜规则如下图。
有研究表明,在玩石头剪刀布时,人们大多倾向于“赢家保持现状输家做出改变的策略”。
这意味着,如果你是输家,下一轮换应该用能打败对手的出手;如果你是赢家,下一轮就不要再使用原来的出手。

对于CC来说,这些心里分析都是无所谓的,因为他是灵能力者,可以预知对手想要出石头(Rock),剪刀(Scissors),还是布(Paper)。CC想要每轮比赛都赢,请你告诉CC他每轮应该出什么才能赢。


输入描述

第一行是一个整数,表示比赛轮数。
接下来n行,每行一个字符串。
这个字符串只能是Rock,Scissors,Paper三者之一,表示本轮对手的出招是石头还是剪刀还是布。

输出描述

输出共n行。

对对手的每个出招,输出一行一个字符串。
这个字符串只能是Rock,Scissors,Paper三者之一,表示本轮CC需要出石头还是剪刀还是布才能赢对手。

示例1

输入:

3
Scissors
Rock
Paper

输出:

Rock
Paper
Scissors

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

pypy3 解法, 执行用时: 94ms, 内存消耗: 45984K, 提交时间: 2022-01-26 14:09:18

a='Rock'
b='Scissors'
c='Paper'
for i in range (int(input())):
    m=input()
    if m==a:
        print(c)
    elif m==c:
        print(b)
    elif m==b:
        print(a)

matlab 解法, 执行用时: 139ms, 内存消耗: 9136K, 提交时间: 2023-03-20 09:20:41

n=input('');
O=containers.Map({'S','R','P'},{'Rock','Paper','Scissors'});
while n
    n=n-1;
    o=input('','s');
    fprintf("%s\n",cell2mat(values(O,{o(1)})));
end

Python3(3.5.2) 解法, 执行用时: 30ms, 内存消耗: 3432K, 提交时间: 2019-04-13 14:47:39

d={'Scissors':'Rock','Rock':'Paper','Paper':'Scissors'}
t=int(input())
for i in range(t):
  print(d[input()])

上一题