#AT1935. C - Swiss-System Tournament

C - Swiss-System Tournament

C - 瑞士制锦标赛

分数: $300$ 分

问题描述

$2N$ 名选手,编号从 $1$ 到 $2N$,将参加石头剪刀布比赛。

比赛有 $M$ 轮。每轮有 $N$ 个一对一的比赛,每个选手参加其中的一场。

对于每个 $i=0, 1, \ldots, M$,选手在第 $i$ 轮结束时的排名如下确定。

  • 在前 $i$ 轮中取得更多胜利的选手排名较高。
  • 平局时按照编号排序,编号较小的选手排名较高。

此外,对于每个 $i=1, \ldots, M$,第 $i$ 轮的比赛安排如下。

  • 对于每个 $k=1, 2, \ldots, N$,第 $i$ 轮结束时排名第 $(2k-1)$ 和 $2k$ 的选手之间进行一场比赛。

每场比赛,两名选手只出手一次,结果是一名选手的胜利,另一名选手的失败,或者平局。

能够预测未来的 Takahashi 知道选手 $i$ 在第 $j$ 轮的比赛中会出手 $A_{i, j}$,其中 $A_{i,j}$ 是 GC 或者 P
这里,G 代表石头,C 代表剪刀,P 代表布。(这些词源于日语。)

求第 $M$ 轮结束时选手的排名。

石头剪刀布规则 根据两名选手出的手判断石头剪刀布比赛的结果,规则如下:
  • 如果一名选手出石头(G),另一名选手出剪刀(C),石头(G)的选手获胜。
  • 如果一名选手出剪刀(C),另一名选手出布(P),剪刀(C)的选手获胜。
  • 如果一名选手出布(P),另一名选手出石头(G),布(P)的选手获胜。
  • 如果两名选手出同样的手,比赛为平局。

约束

  • $1 \leq N \leq 50$
  • $1 \leq M \leq 100$
  • $A_{i,j}$ 是 GC 或者 P

输入

输入以以下格式从标准输入获得:

NN MM

A1,1A1,2A1,MA_{1,1}A_{1,2}\ldots A_{1,M}

A2,1A2,2A2,MA_{2,1}A_{2,2}\ldots A_{2,M}

\vdots

A2N,1A2N,2A2N,MA_{2N,1}A_{2N,2}\ldots A_{2N,M}

输出

输出 $2N$ 行。

第 $i$ 行应该包含第 $M$ 轮结束时排名第 $i$ 的选手的编号。

2 3
GCP
PPP
CCC
PPC
3
1
2
4

第一轮,Player $1$ 与 Player $2$ 比赛,Player $3$ 与 Player $4$ 比赛。Player $2$ 胜出,Player $3$ 胜出。
第二轮,Player $2$ 与 Player $3$ 比赛,Player $1$ 与 Player $4$ 比赛。Player $3$ 胜出,Player $1$ 胜出。
第三轮,Player $3$ 与 Player $1$ 比赛,Player $2$ 与 Player $4$ 比赛。Player $3$ 胜出,Player $4$ 胜出。
因此,最终的排名为:$3,1,2,4$,从高到低。

2 2
GC
PG
CG
PP
1
2
3
4

第一轮,Player $1$ 与 Player $2$ 比赛,Player $3$ 与 Player $4$ 比赛。Player $2$ 胜出,Player $3$ 胜出。
第二轮,Player $2$ 与 Player $3$ 比赛,Player $1$ 与 Player $4$ 比赛。平局,Player $1$ 胜出。
因此,最终的排名为:$1,2,3,4$,从高到低。