#3505. Swiss-System Tournament

0

Swiss-System Tournament

Swiss-System Tournament

题目描述

2N2N 名选手,编号为 11 到 2N2N,将参加石头剪刀布比赛。 比赛共有 MM 轮。每一轮有 NN 场一对一的对战,每位选手参加其中的一场。 对于每个 i=0,1,…,Mi=0,1,\ldots,M,第 ii 轮结束时的选手排名按如下方式决定。

在前 ii 轮中胜场更多的选手排名更高。 平局按编号决定:编号较小的选手排名更高。

此外,对于每个 i=1,…,Mi=1,\ldots,M,第 ii 轮的对阵按如下方式安排。

对于每个 k=1,2,…,Nk=1,2,\ldots,N,第 (2k−1)(2k-1) 名和第 2k2k 名(在第 (i−1)(i-1) 轮结束时的排名)之间进行一场比赛。

在每场比赛中,两名选手各出一手,仅进行一次,结果为一方胜一方负,或平局。 能够预见未来的高桥知道选手 ii 在第 jj 轮的比赛中将出 Ai,jA_{i,j},其中 Ai,jA_{i,j} 是 GG、CC 或 PP。
这里,GG 代表石头,CC 代表剪刀,PP 代表布。(这些来自日语。) 求第 MM 轮结束时选手的排名。

石头剪刀布的规则 石头剪刀布一局的结果由两名选手出的手决定,规则如下。

如果一名选手出石头 (G),另一名出剪刀 (C),则出石头 (G) 的选手获胜。 如果一名选手出剪刀 (C),另一名出布 (P),则出剪刀 (C) 的选手获胜。 如果一名选手出布 (P),另一名出石头 (G),则出布 (P) 的选手获胜。 如果两名选手出相同的手,则比赛平局。

输入格式

输入按照下述格式由标准输入给出: NN MM A1,1A1,2…A1,MA_{1,1}A_{1,2}\ldots A_{1,M} A2,1A2,2…A2,MA_{2,1}A_{2,2}\ldots A_{2,M} ⋮\vdots A2N,1A2N,2…A2N,MA_{2N,1}A_{2N,2}\ldots A_{2N,M}

输出格式

输出 2N2N 行。 第 ii 行应当包含第 MM 轮结束时排名第 ii 位的选手的编号。

2 3
GCP
PPP
CCC
PPC
3
1
2
4
2 2
GC
PG
CG
PP
1
2
3
4

提示

1≤N≤501 \leq N \leq 50 1≤M≤1001 \leq M \leq 100 Ai,jA_{i,j} 是 GG、CC 或 PP。在第一轮,比赛在选手 11 和 22 之间进行,以及在选手 33 和 44 之间进行。选手 22 赢得前者,选手 33 赢得后者。
在第二轮,比赛在选手 22 和 33 之间进行,以及在选手 11 和 44 之间进行。选手 33 赢得前者,选手 11 赢得后者。
在第三轮,比赛在选手 33 和 11 之间进行,以及在选手 22 和 44 之间进行。选手 33 赢得前者,选手 44 赢得后者。
因此,最终选手的排名从高到低依次为:3,1,2,43,1,2,4。
在第一轮,比赛在选手 11 和 22 之间进行,以及在选手 33 和 44 之间进行。选手 22 赢得前者,选手 33 赢得后者。
在第二轮,比赛在选手 22 和 33 之间进行,以及在选手 11 和 44 之间进行。前者为平局,选手 11 赢得后者。
因此,最终选手的排名从高到低依次为:1,2,3,41,2,3,4。

标签: AtCoder|abc222C

来源

AtCoder|abc222C