360校招——最后赢家(C++)
⭐ 文章链接: www.mengyingjie.com/archives/39/ ⭐
最后赢家
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
最强的不一定是最后的赢家。
某赛事有n名选手参加,但是不同于其他的比赛,本比赛采取的是擂台赛的形式,n名选手排成一排,每次队伍的第一位和第二位选手进行比赛,输的一方会排到队尾。
当某位选手取得m连胜时,他将成为最后的赢家,且游戏结束,请问截止到游戏结束,共会进行多少次比赛。
两位选手的比赛结果由他们的战斗力决定,n位选手的战斗力是一个1~n的排列,也就是说他们的战斗力两两不同,不会有平局的情况。
输入
输入第一行包含两个正整数n,m,分别代表参赛选手数量和取得连胜的要求。(1<=n<=100000,1<=m<=10^9)
输入第二行包含n个正整数,中间用空格隔开,第i个数表示队伍的第i位选手的战斗力,整体是一个1~n的排列。
输出
输出仅包含一个正整数,表示截止到游戏终止,共进行多少场比赛。
样例输入
4 2
1 3 2 4
样例输出
2
提示
样例解释
显然第一局应该是战斗力为3的选手获胜,第二局同样是战斗力为3的选手获胜,2连胜终止游戏,所以答案是2。此时若修改m为3,则结果是5。
代码
解题思路写在代码的注释里
#include <iostream>
#include <queue>using namespace std;int main(){//n,m,分别代表参赛选手数量和取得连胜的要求//cnt记录作为基准选手的胜场数int n, m, h, y, cnt;//cnt2表示共进行了多少场比赛int cnt2 = 0;//定义队列来存储每位选手的战斗力queue <int> q;cin >> n >> m;for(int i = 0; i < n; i++){//将战斗力存储在队列中cin >> h;q.push(h);}//取出第一个队列当作基准h = q.front();q.pop();//默认胜场为零cnt = 0;while(cnt < m){//一次循环代表进行一场比赛cnt2 ++;y = q.front();//将基准h与现在队首的y相比较if(h > y){//如果h胜了,他继续当基准,然后他的胜场+1cnt++;//将队首的y取出,放到队列q.pop();q.push(y);}else{//如果y胜了,把原来的h放到队尾,然后将y作为基准,他的胜场置为1,q.pop();q.push(h);h = y;cnt = 1;}}cout << cnt2 << endl;return 0;
}
遇到此类问题,但看了文章还是未解决,
评论或加 QQ:781378815
360校招——最后赢家(C++)相关推荐
- 9.25 360校招面试题总结? 自己面试 c++后端开发,服务器方向,探索部门。
2018.9.25 360校招面试题总结? 自己面试 c++后端开发,服务器方向,探索部门. 1上来问智力题 5L和6L的杯子量出3L的水,如何量? 一.下面开始问c++的基础的东西 ...
- 360 c语言 笔试,奇虎360校招的笔试真题
选择题有45个? 好像是,三道简答题, 简答题: 1.设计一个课程表(包括目标人群.核心功能.特色设计); 2.说ATM的缺点,改进方法; 3.如何让李开复等互联网大牌关注你的微薄? 选择题记得不是很 ...
- 360校招笔试题总结3
21题 答案:A 22题 23题 24题 答案:C 25题 答案:B 26题 27题 答案:D 28题 答案:B . 29题 答案: B 30题 答案:true flase true flase tr ...
- 2022届360校招提前批推荐算法面试题总结
文末彩蛋:七月在线干货组最新升级的<2021大厂最新AI面试题 [含答案和解析, 更新到前121题]>免费送! 问题1:非递归的二叉树中序遍历 该题为Leetcode-94:二叉树的中序遍 ...
- 2018 360校招笔试(前两题)
n个点,找出可以包含所有点的一个最小矩形的面积 很简单,直接 x轴y轴 分别记录一个最大值最小值,这时可以获得一个最小长方形,在长宽里面取个最大值就得到了正方形的边长,算个平方就出来了 PS. 这道题 ...
- 滴滴打车And 360 校招 2016 在线笔试(一)
1.烧一根不均匀的绳,从头烧到尾总共需要1个小时.现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 一根从一头少,一根从两头烧,再有一根做参照,两头烧完的记下位置(即烧到这里要 ...
- 2015.11--360校招面试-后台C++开发工程师
15年10月初参加的360校招面试-后台C++开发工程师,一共经历三轮面试. 开始是线上笔试,没过,去霸面给了机会面试. 一面 1.把项目和实习经历仔细的问了个编,其中的技术细节问的非常细. 2.计算 ...
- 九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题
九月迅雷,华为,阿里巴巴,最新笔试面试十题 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面 ...
- 最新校招笔试面试六十题
原文: 九月十月百度,迅雷,华为,阿里巴巴最新校招笔试面试六十题(11.05) 链接:http://blog.csdn.net/v_july_v/article/details/11921021 分类 ...
- 2014九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试题
九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题 题记 本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9.10月份陪伴了至少三届毕业生找工作的旅 ...
最新文章
- AI Time 7 | 人机交互的终极状态——人机共生
- BitMap 原理代码记录
- 【转】Android使用嵌入式关系型SQLite数据库存储数据【学习记录】
- TIOBE Programming Community Index
- html页面显示html代码怎么写,求助这段代码如何转换成正常可看的HTML页面
- java中map怎么遍历,Java中怎么遍历Map的所有的元素
- java 程序分析题_java程序入门50题分析:002
- 怎样安装php52-71,CentOS如何安装PHP5和PHP7
- linux快照软件哪个好,Linux下的快照snapshot的实现
- 设置centos上的redis可以被访问
- postman断言作用及怎么使用
- win10无线投屏_如何实现win10无线投屏电视?电脑投屏电视的办法介绍
- USB加密狗复制克隆破解软件
- 【白话设计模式】23种设计模式一句话通俗讲解
- 【今年年会,你中奖了吗?】在线抽奖活动中如何实现中奖概率的自适应调整...
- <C++>运算符重载完结,详解赋值,关系,函数调用运算符
- linux calloc
- PDF矢量图片转为EPS格式图片的方法
- 利用留数定理计算实积分
- DerekJiang的装修日记汇总帖