AT_arc109_c [ARC109C] Large RPS Tournament
题目描述
为了决定最强的“剪刀石头布”手势,将举办一场锦标赛形式的“剪刀石头布”大赛。参赛者共有 $2^k$ 人,每个人都被分配了一个 $0$ 以上小于 $2^k$ 的整数编号。每位参赛者都有自己擅长的手势,并且每场比赛只会出自己擅长的手势。
参赛者的擅长手势由一个长度为 $n$ 的只包含 `R`、`P`、`S` 的字符串 $s$ 表示。具体来说,编号为 $i$ 的参赛者的擅长手势为 $s$ 的第 $(i\bmod n)+1$ 个字符。其中,`R` 表示石头,`P` 表示布,`S` 表示剪刀。
对于满足 $r-l$ 是 $2$ 的幂的 $l,\ r$,当编号在 $l$ 以上 $r$ 未满的参赛者举办比赛时,胜者的决定方式如下:
- 当 $r-l=1$(即只有一名参赛者时),胜者为 $l$。
- 当 $r-l\geq 2$ 时,令 $m=(l+r)/2$,分别让编号在 $l$ 以上 $m$ 未满和 $m$ 以上 $r$ 未满的参赛者举办比赛。设两边的胜者分别为 $a$ 和 $b$,则 $a$ 和 $b$ 进行“剪刀石头布”,胜者为最终胜者。如果平局,则 $a$ 获胜。
请输出编号为 $0$ 以上 $2^k$ 未满的参赛者举办比赛时,最终胜者的擅长手势(`R`、`P` 或 `S`)。
输入格式
输入通过标准输入给出,格式如下:
> $n$ $k$ $s$
输出格式
请输出锦标赛最终胜者的擅长手势(`R`、`P` 或 `S`)。
说明/提示
### 注意
- $a\bmod b$ 表示 $a$ 除以 $b$ 的余数。
- 剪刀石头布的胜负规则如下:
- 相同手势为平局。
- `R` 胜 `S`。
- `P` 胜 `R`。
- `S` 胜 `P`。
### 约束条件
- $1\leq n,k\leq 100$
- $s$ 是只包含 `R`、`P`、`S` 的长度为 $n$ 的字符串。
### 样例解释 1
- 编号 $0$ 以上 $2$ 未满的参赛者举办比赛时,胜者的擅长手势为 `P`。
- 编号 $2$ 以上 $4$ 未满的参赛者举办比赛时,胜者的擅长手势为 `R`。
- 编号 $0$ 以上 $4$ 未满的参赛者举办比赛时,胜者的擅长手势为 `P`。
因此,答案为 `P`。
```
P ┌─┴─┐ P
R ┌┴┐ ┌┴┐ R
P S R
```
由 ChatGPT 4.1 翻译