小慕正在设计一个石头剪刀布游戏的判定模块。游戏中有 3 种出拳形状:石头、剪刀、布,分别用字母 A、B、C 表示。 游戏规则如下: 1. 出拳形状之间的胜负规则为:A > B;B > C;C > A。其中“>”左边表示相对优势的形状,右边表示相对劣势的形状。 2. 当本场次中有且仅有一种出拳形状优于其他所有出拳形状时,该形状的玩家获胜;否则判定为平局。 3. 如果发生平局,则没有赢家;如果有多个玩家同时满足获胜条件,则他们都算作赢家。 例如 1:三个玩家出拳分别是 A、B、C,由于出现(即没有任何一种形状优于其他所有形状),判定为平局。 例如 2:三个玩家中,出拳分别是 A、B,出拳 A 的玩家获胜。 例如 3:三个玩家全部出拳 A,判定为平局。
提示:带虚线的词点一下有通俗解释。
输入描述
<p> 在一场游戏中,每个玩家的信息为一行。玩家数量不超过 1000 。 </p> <p> 每个玩家信息有 2 个字段,用空格隔开: </p> <p> 1. 玩家 ID:一个仅由英文字母和数字组成的字符串 </p> <p> 2. 出拳形状:以英文大写字母表示, A 、B 、C 形状。 </p> <p> 例: </p> <p> abc1 A </p> <p> xyz B </p> <p> 解释: </p> <p> 玩家 abc1 出拳为石头( A )。玩家 xyz 出拳为剪刀( B ) </p>
输出描述
<p> 输出为赢家的玩家 ID 列表(一个或多个),每个 ID 一行,按字符串升序排列。如果没有赢家,输出为"NULL"字符串。 </p> <p> 例如: </p> <p> abc1 </p>
示例
示例 1
输入
abc1 A def A alic A xyz B
输出
abc1 alic def
说明:A 为优胜方,有三个赢家。
示例 2
输入
abc1 A xyz B
输出
abc1
说明:A 比 B 有优势,abc1 胜出
示例 3
输入
abc1 A xyz A
输出
NULL
说明:没有优胜的出拳形状,平局
时间限制 1000 ms · 内存限制 128 MB