省超足球比赛获胜队伍计算
2026 华为OD机试真题 7月4日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
题目描述
江苏省举办省级足球超级联赛,以市为单位参赛。请根据给定的比赛结果,输出获得冠军、亚军、季军的队伍名称。
比赛安排
-
参赛的队伍总数为
teamNum,teamNum的取值范围是 3≤teamNum≤15; -
比赛采用单循环赛制:
- 任意两支参赛队伍之间至少比赛 1 场,若两队队伍之间不存在比赛记录,说明其中有队伍弃赛;
- 总比赛场次不超过 teamNum×(teamNum−1)/2 场;
-
比赛最终各队伍不允许出现积分和净胜球都完全相同的情况。
计分规则
- 胜者得 3 分,平局各得 1 分,负者得 0 分;
- 每场比赛记录双方的进球数(进球数 ≥0),从而计算净胜球(进球数 - 失球数)。
排名规则
首先按总积分从高到低排序。若积分相同,则按净胜球从高到低排序。
输入描述
第一个参数:为一个整数 teamNum,表示参赛队伍的数量。teamNum 的取值范围是 3≤teamNum≤15,若比赛队伍超过此范围则输入不合法。
第二个参数:为一个二维数组。二维数组的每一行表示一场比赛的结果,格式为: 队伍A名称 队伍A进球数 队伍B进球数 队伍B名称;
输出描述
如果输入合法,则输出一个字符串列表,分别为冠军、亚军、季军的队伍名称;
如果输入不合法,则输出一个空字符串列表。
补充说明
所有不符合题目描述中"比赛安排"、"积分规则"章节约束的输入均视为不合法输入,程序输出按照输入不合法处理。
示例1
输入
3,[["Beijing","2","1","Shanghai"],["Beijing","3","0","Guangzhou"],["Shanghai","1","1","Guangzhou"]]
输出
["Beijing","Shanghai","Guangzhou"]
说明
Beijing:
vs Shanghai: 胜(得 3 分,净胜球 +1)
vs Guangzhou: 胜(得 3 分,净胜球 +3)
总积分:6,总净胜球:4
Shanghai: vs Beijing: 负(得 0 分,净胜球 -1)
vs Guangzhou: 平(得 1 分,净胜球 0)
总积分:1,总净胜球:-1
Guangzhou:
vs Beijing: 负(得 0 分,净胜球 -3)
vs Shanghai: 平(得 1 分,净胜球 0)
总积分:1,总净胜球:-3
所以排名:
- Beijing (6 分, 净胜球 +4) > Shanghai (1 分, 净胜球 -1) > Guangzhou (1 分, 净胜球 -3)
示例2
输入
3,[["Beijing","1","1","Shanghai"],["Guangzhou","1","1","Beijing"],["Shanghai","
订阅专栏 解锁全文

469

被折叠的 条评论
为什么被折叠?



