文章目录

  • 题目分析
    • 题目来源

题目分析


来源:acwing

分析:

  • 本题采用vector存每只老鼠,为什么用vector,因为每过一轮剩余老鼠数量是动态变化的。
  • 每组中未选出的选手排名相同,排名等于进入下一轮的个数+1.最后冠军特判,排名为1.

ac代码

#include<bits/stdc++.h>
using namespace std;
const int N = 1010;int w[N];//体重
int ans[N]; //排名int main(){int n, m;cin>> n>> m;for(int i = 0;i<n; i++) cin>> w[i];vector<int> cur(n); //老鼠当前的次序for(int i =0; i < n; i++ )cin>> cur[i]; //老鼠参赛序号while(cur.size()>1){vector<int> next; //pk的结果存在next中,每组选一只//剩余老鼠数量int remain = (cur.size() + m -1)/m; // 这是÷m上取整for(int i =0; i<cur.size();){int j = min(i+m, (int)cur.size());//每组的终点的下一位置int t =i;//找最重的老鼠的参赛序号for(int k = i; k<j; k++)if(w[cur[k]] > w[cur[t]]) t  = k;next.push_back(cur[t]);for(int k = i; k<j ;k++)if( k != t)  ans[cur[k]] = remain +1;i = j;}cur = next;}ans[cur[0]] =1; //最后一只老鼠排第一cout<< ans[0];for(int i =1; i<n; i++) cout<<" "<<ans[i];}

题目来源

https://www.acwing.com/problem/content/1544/

PAT甲级1056 Mice and Rice:[C++题解]模拟、排名相关推荐

  1. PAT 甲级 1056 Mice and Rice

    1056 Mice and Rice 题目大意:给出老鼠的数量和每组的人数,将老鼠分成若干组(多下来不够每组人数的算作一组),第二行给出每只老鼠最终的重量,第三行给出分组顺序 思路:记录每轮获胜的选手 ...

  2. PAT甲级1051 Pop Sequence:[C++题解]模拟栈、判断序列是否是合法的出栈序列

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 题意:将1~N压栈,判断给定序列是否是合法的出栈序列. 对于序列1~N中的每个值i,先将其压入栈.然后对于它就有两种处理方法:要么压 ...

  3. PAT甲级1042 Shuffling Machine:[C++题解]模拟、哈希表、洗牌机

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:序列置换. 这里用到函数memcpy()用于数组复制,用法memcpy(dest, src, sizeof dest); 把src数组 ...

  4. PAT甲级1041 Be Unique :[C++题解]模拟、哈希表

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:统计次数,按序遍历,输出第一个出现次数为1的号码. ac代码 #include<bits/stdc++.h> using ...

  5. PAT甲级 1056

    PAT甲级 1056 题目 Mice and Rice 解析 代码 题目 Mice and Rice Mice and Rice is the name of a programming contes ...

  6. PAT甲级1056(queue的用法)

    题目 1056 Mice and Rice(25 分) Mice and Rice is the name of a programming contest in which each program ...

  7. PAT甲级1138 Postorder Traversal:[C++题解]前序遍历和中序遍历建树

    文章目录 题目分析 题目链接 题目分析 做过前面几道题,发现这道题就是一道模板题,递归建树即可. 还是使用笔者熟悉的hash表来找根,进行优化. 请移步至笔者的另一篇文章:PAT甲级1020 Tree ...

  8. 1056. Mice and Rice (25)

    1056. Mice and Rice (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Mice an ...

  9. 1056 Mice and Rice (25分)

    1056 Mice and Rice (25分) 参考 题目读了好久都没读明白...看了上方链接的解释才懂什么意思,感觉好绕... 第二行为0~n-1的老鼠重量,第三行为合并的次序序号,最后按0到n- ...

最新文章

  1. Tomcat服务器端口的配置
  2. 《关键对话》读书笔记作文3700字
  3. ant root环境配置_如何给root用户设置PATH环境变量
  4. boost::histogram::algorithm::reduce用法的测试程序
  5. WPF 基础控件之Window样式
  6. flink连接kafka整合hbase,scala
  7. 网络电话---异常处理01
  8. python读取配置文件获取所有键值对_python ConfigParser模块读写配置文件
  9. 用仿ActionScript的语法来编写html5——第三篇,鼠标事件与游戏人物移动
  10. navigator属性
  11. 中心/设置地图缩放以覆盖所有可见的标记?
  12. java类和对象数组传参_Java 练习(替换数组元素, 将对象作为参数传递给方法)
  13. 【鱼眼镜头3】[鱼眼畸变模型]:除法模型(核密度估计径向失真校正方法)
  14. 从多云共存到多云融合:2020年多云管理市场展望
  15. 【Elasticsearch】高亮查询 highlighting (一)
  16. 【项目记录】雪球网股票组合数据爬虫(包括雪球模拟登录代码)
  17. 拜登签署芯片法案后,英特尔股票的前景如何?
  18. GBase 8a里通过rsync加速调度coor节点的扩容和替换效率
  19. python二分查找时间复杂度_时间复杂度 二分查找
  20. 利用Python实现PDF转文本,就是如此简单!

热门文章

  1. 洛谷P1330 封锁阳光大学
  2. MySQL The password hash doesn't have the expected format.
  3. javascript中函数作用域和声明提前
  4. 1042: [HAOI2008]硬币购物 - BZOJ
  5. 智能指针引用计数器版
  6. new/delete与malloc/free的区别和联系
  7. hal库选择滴答时钟函数_STM32入门 : HAL库、标准外设库、LL库
  8. 【数理知识】《积分变换与场论》王振老师-第1章-傅里叶变换
  9. 1.11 双向循环神经网络-深度学习第五课《序列模型》-Stanford吴恩达教授
  10. 1.7 程序示例--多项式回归-机器学习笔记-斯坦福吴恩达教授