#P17135. [KOI 2026 #1] 剪刀石头布
[KOI 2026 #1] 剪刀石头布
题目描述
编号为 到 的 个人排成一列。对于每个整数 (),第 个人站在从左向右数第 个位置,并持有一张卡片 。每张卡片均为剪刀(S)、石头(R)、布(P)中的一种。
如果两个不同的人之间没有其他人,则称这两个人相邻。你可以选择相邻的两个人,让他们进行对决。每次对决按照以下方式进行:
- 如果两个人持有的卡片不同,则按照剪刀石头布的规则决定胜者。具体而言,石头(R)战胜剪刀(S),剪刀(S)战胜布(P),布(P)战胜石头(R)。
- 如果两个人持有的卡片相同,则可以由你任意指定其中一人为胜者。
败者将离场,胜者则保留自己原有的卡片,并留在原来的位置上。有人离场后,可能会有原本不相邻的两个人变得相邻,而他们之后也可以进行对决。
你需要恰好进行 次对决,使得最后只剩下一名获胜者。请编写一个程序,对每个人分别判断是否存在一种安排对决的方式,使其能够成为最终获胜者。
输入格式
第一行输入一个整数 。
第二行输入一个长度为 的字符串 。 的第 个字符 表示第 个人持有的卡片,为大写英文字母 S、R、P 中的一个()。
输出格式
第一行输出一个长度为 的字符串。其中,第 个字符应满足:如果第 个人能够成为最终获胜者,则该字符为 ;否则,该字符为 ()。
3
RPP
011
3
RPS
101
提示
样例说明 1
如果先让第 个人和第 个人进行对决,由于两人持有的卡片相同,因此可以由你任意指定胜者。如果指定第 个人获胜,那么剩下的第 个人和第 个人将进行对决。由于布(P)战胜石头(R),因此第 个人可以成为最终获胜者。
也可以让第 个人和第 个人进行对决,并指定第 个人获胜,之后再让第 个人与第 个人进行对决。这样,第 个人可以成为最终获胜者。
由于石头(R)无法战胜布(P),因此第 个人绝不可能成为最终获胜者。
样例说明 2
如果先让第 个人和第 个人进行对决,由于剪刀(S)战胜布(P),因此第 个人获胜。剩下的第 个人和第 个人进行对决时,由于石头(R)战胜剪刀(S),因此第 个人可以成为最终获胜者。
如果先让第 个人和第 个人进行对决,由于布(P)战胜石头(R),因此第 个人获胜。剩下的第 个人和第 个人进行对决时,由于剪刀(S)战胜布(P),因此第 个人可以成为最终获胜者。 第 个人绝不可能成为最终获胜者。
限制条件
。
是一个长度为 的字符串,且仅由大写英文字母 S、R、P 组成。
子任务
- ( 分)。
- ( 分)字符串 中至多包含两种不同的字符。
- ( 分)。
- ( 分)。
- ( 分)无附加限制。
翻译由 ChatGPT-5.6 完成