通过率 45% · 提交 1,063 · 通过 482
小慕正在设计一个石头剪刀布游戏的判定模块。游戏中有 3 种出拳形状:石头、剪刀、布,分别用字母 A、B、C 表示。 游戏规则如下: 1. 出拳形状之间的胜负规则为:A > B;B > C;C > A。其中“>”左边表示相对优势的形状,右边表示相对劣势的形状。 2. 当本场次中有且仅有一种出拳形状优于其他所有出拳形状时,该形状的玩家获胜;否则判定为平局。 3. 如果发生平局,则没有赢家;如果有多个玩家同时满足获胜条件,则他们都算作赢家。 例如 1:三个玩家出拳分别是 A、B、C,由于出现(即没有任何一种形状优于其他所有形状),判定为平局。 例如 2:三个玩家中,出拳分别是 A、B,出拳 A 的玩家获胜。 例如 3:三个玩家全部出拳 A,判定为平局。
这类题属于华为 OD 机考真题方向中「100分 / 排序」方向的高频题型,通常考察对「100分 / 排序」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
在一场游戏中,每个玩家的信息为一行。玩家数量不超过 1000 。
每个玩家信息有 2 个字段,用空格隔开:
玩家 ID:一个仅由英文字母和数字组成的字符串
出拳形状:以英文大写字母表示, A 、B 、C 形状。
例:
abc1 A
xyz B
解释:
玩家 abc1 出拳为石头( A )。玩家 xyz 出拳为剪刀( B )
输出为赢家的玩家 ID 列表(一个或多个),每个 ID 一行,按字符串升序排列。如果没有赢家,输出为"NULL"字符串。
例如:
abc1
示例 1
输入示例
abc1 A def A alic A xyz B
输出示例
abc1 alic def
A 为优胜方,有三个赢家。
示例 2
输入示例
abc1 A xyz B
输出示例
abc1
A 比 B 有优势,abc1 胜出
示例 3
输入示例
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
abc1 A xyz A
输出示例
NULL
没有优胜的出拳形状,平局
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有