一、题目描述
有个运动员,他们的id为0到N-1,他们的实力由一组整数表示。他们之间进行比赛,需要决出冠亚军。比赛的规则是0号和1号比赛,2号和3号比赛,以此类推,每一轮,相邻的运动员进行比赛,获N (3\leq N< 10000)胜的进入下一轮,实力值大的获胜,实力值相等的情况,id小的情况下获胜,轮空的直接进入下一轮。
二、输入描述
输入一行N个数字代表N的运动员的实力值。
(0 <= 实力值 <= 10000000000)。
三、输出描述
输出冠亚季军的id,用空格隔开。
四、解题思路
- 输入运动员的实力值;
- 定义获奖的集合trophyList,冠军组,亚军组,季军组;
- 定义运动员集合;
- 打比赛;
- 定义胜利组;
- 定义失败组;
- 两两比赛;
- 递增步数是2,因此如果是偶数,则全员都可以比较;
- 如果是奇数,则最后一个运动员,因为没有比赛可以参加,直接晋级;
- 比较当前运动员,奇数位运动员与下一个运动员
- 实力大的进入胜利组,实力小的进入失败组;
- 如果实力相等,id小的获胜
- 将胜利组压到获奖的集合最前面,保证获胜的一直在前面;