【 OD统一考试B卷 】 比赛的冠亚季军(C++)
题目描述
有N(3 ≤ N < 10000)个运动员,他们的id为0到N-1,他们的实力由一组整数表示。他们之间进行比赛,需要决出冠亚军。比赛的规则是0号和1号比赛,2号和3号比赛,以此类推,每一轮,相邻的运动员进行比赛,获胜的进入下一轮;实力值大的获胜,实力值相等的情况,id小的情况下获胜;轮空的直接进入下一轮。
输入描述
输入一行N个数字代表N的运动员的实力值(0<=实力值<=10000000000)。
输出描述
输出冠亚季军的id,用空格隔开。
// 进行比赛
void compete(vector<vector<int>>& players, vector<vector<int>>& win, vector<vector<int>>& lose){
vector<vector<int>> result;
int len = players.size();
for(int i=0; i<len; i+=2){
vector<int> one = players[i];
if(i == players.size() - 1){ // 如果剩余最后一个人
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
华为OD机试刷题 文章被收录于专栏
华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。