atcoder#ARC109C. [ARC109C] Large RPS Tournament

[ARC109C] Large RPS Tournament

题目描述

最強のじゃんけんの手を決めるため、トーナメント形式のじゃんけん大会が開催されます。 大会の参加者は 2k 2^k 人で、それぞれ 0 0 以上 2k 2^k 未満の整数が振られています。どの参加者もそれぞれ得意な手を持っていて、毎試合得意な手のみを出します。

参加者の得意な手は、長さ n n R, P, S からなる文字列 s s によって表されます。 具体的には、番号 i i の参加者の得意な手は s s (i mod  n) + 1 (i\text{\ mod\ }\ n)\ +\ 1 文字目の文字で表されます。ここで、R はグー、P はパー、S はチョキを表します。

rl r-l 2 2 のべき乗であるような l, r l,\ r について、番号が l l 以上 r r 未満の参加者による大会を開いたとき、勝者は次のようにして決定されます。

  • rl=1 r-l=1 であるとき(つまり、参加者がただ一人であるとき)、勝者は l l とする。
  • rl 2 r-l\geq\ 2 であるとき、m=(l+r)/2 m=(l+r)/2 として、l l 以上 m m 未満の参加者による大会と、m m 以上 r r 未満の参加者による大会を開催する。それぞれの勝者が a, b a,\ b であるとき、a a b b がじゃんけんをして勝ったほうを勝者とする。あいこの場合 a a を勝者とする。

番号が 0 0 以上 2k 2^k 未満の参加者による大会の勝者の得意な手を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

n n k k s s

输出格式

大会の勝者の得意な手を RPS で出力せよ。

题目大意

题意

2k2^k 个玩家进行比赛。给定一个长度为 nn 且仅由 RPS 组成的字符串 ss,玩家 ii 的手牌是 ss 中的第 ((imodn)+1)((i\bmod n) + 1) 个字符。

比赛的举行方式是,选定 llrr,在玩家 ll 到 玩家 r1r - 1 之间进行比赛(rlr - l 必须满足为 22 的次幂)。

比赛规则如下:

  • 如果 rl=1r - l = 1,则 ll 胜出。
  • 如果 rl2r - l \ge 2,令 m=(l+r)/2m = (l + r) / 2。分两部分举行比赛,第一部分为 llm1m - 1 之间的玩家,第二部分为 mmr1r - 1,胜出者再进行石头剪刀布

石头剪刀布的规则(R 为石头,P 为布,S 为剪刀):

  • RS
  • PR
  • SP

求玩家 00 至玩家 2k2^k 的胜出者的手牌。

3 2
RPS
P
11 1
RPSSPRSPPRS
P
1 100
S
S

提示

注意

  • a mod  b a\text{\ mod\ }\ b a a b b で割ったあまりを表す
  • じゃんけんの勝敗は次のように決められる
    • 同じ手同士はあいこである
    • RS に勝つ
    • PR に勝つ
    • SP に勝つ

制約

  • 1  n,k  100 1\ \leq\ n,k\ \leq\ 100
  • s s R, P, S のみからなる長さ n n の文字列

Sample Explanation 1

- 番号が 0 0 以上 2 2 未満の参加者による大会の勝者の得意な手は P です。 - 番号が 2 2 以上 4 4 未満の参加者による大会の勝者の得意な手は R です。 - 番号が 0 0 以上 4 4 未満の参加者による大会の勝者の得意な手は P です。 よって、答えは P となります。 P ┌─┴─┐ P R ┌┴┐ ┌┴┐ R P S R