B3680 [语言月赛202211] BAN-PICK
题目描述
在第五人格职业联赛的每一场对局中,需要进行 Ban-Pick 流程。Ban 即角色禁用,Pick 即角色选用。
如试题 Winner 所述,游戏分为 **求生者($\texttt{Survivor}$)** 与 **监管者($\texttt
{Hunter}$)** 两个阵营。**求生者阵营** 共有 $n$ 名角色,**监管者阵营** 共有 $m$ 名角色。
在某局比赛中,**监管者** 可以 ban(禁用) 掉 **求生者阵营** $5$ 名角色,**求生者** 可以 ban(禁用) 掉 **监管者阵营** $2$ 名角色。
每个角色,无论其属于求生者阵营还是监管者阵营,均可以使用 **熟练度** 来量化该阵营选手选择该角色的优先程度。选手一定会优先选择 **熟练度** 更高的角色进行游戏。
基于这样的考量,**监管者选手** 在进行 Ban 流程时,往往会选择 ban(禁用) 掉 **求生者阵营熟练度最高** 的若干名 **求生者角色**。同样,**求生者选手** 在进行 Ban 流程时,往往会选择 ban(禁用) 掉 **监管者阵营熟练度最高** 的若干名 **监管者角色**。
在 Ban 流程完成后,需要执行 Pick 流程。
如试题 Winner 所述,**求生者选手** 需要从 **求生者阵营** 中选择 $4$ 名不同的角色,**监管者选手** 需要从 **监管者阵营** 中选择 $1$ 名角色。
现在告诉你所有角色的名字、阵营与选手对其熟练度,请你给出双方阵营 Pick 的角色名字。
输入格式
输入共 $n+m+1$ 行。
输入的第一行为两个整数 $n,m$,分别代表求生者阵营角色数和监管者阵营角色数。
接下来 $n+m$ 行,首先为一个仅由英文字母组成的字符串,代表该角色的姓名;接下来为一个大写字符 `H` 或 `S`,若为 `H`,则代表该角色为监管者阵营,若为 `S`,则代表该角色为求生者阵营;接下来一个正整数,代表该阵营选手对该角色的熟练度。上述字符串、大写字符、正整数之间由一个空格分隔。
输出格式
输出共 $5$ 行。
输出的第一行为监管者阵营选择角色的角色名。
输出的第二到五行为求生者阵营选择角色的角色名,按照熟练度从高到低排列。
说明/提示
### 输入输出样例 1 解释
求生者阵营角色:$\texttt{Amily,Lydia,Lisa,Freddie,Cliche,Aesop,Eli,Norton,Emma}$。
监管者阵营角色:$\texttt{Beck,Tiletower,Yidhra}$。
监管者选手将 ban 掉求生者阵营中角色 $\texttt{Norton,Eli,Aesop,Cliche,Freddie}$。
求生者选手将 ban 掉监管者阵营中角色 $\texttt{Tiletower,Yidhra}$。
### 数据规模与约定
对于前 $20\%$ 的数据,$n = 9, m = 3$。
对于前 $50\%$ 的数据,保证 $n \leq 10 ^ 3, m \leq 10 ^3$。
对于前 $70\%$ 的数据,保证 $w _ i \leq 10 ^ 9$。
对于所有数据,保证 $9 \leq n \leq 10 ^ 5, 3 \leq m \leq 10 ^ 5$,所有名字长度 $\leq 10$。熟练度大小 $w _ i$ 满足 $1 \leq w _ i \leq 10 ^ {18}$。保证每个阵营中熟练度互不相同。保证名字仅有大写字母和小写字母构成。