news 2026/6/15 14:28:39

PAT 1056 Mice and Rice

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PAT 1056 Mice and Rice



这一题的大意是说Np个老鼠参加比赛,相邻Ng个分成一组进行选拔,每组中选择最重的老鼠晋级,没有晋级的老鼠的排名一个样,按照这种思路给所有的老鼠进行排名,如果最后剩下不足Ng个仍可以分成一组,排名是跟分组个数相关。
这一题最开始我不理解的就是怎么确定排名,后来才明白,先算出当前的组数,然后排名等于组数+1,用测试样例验证是符合的。我们可以采用队列按照题目要求的顺序来保存老鼠的体重和索引,然后对一个个出队,在出队的过程中,我们找最大的体重和与之对应的索引,同时给老鼠排名,每Ng个我们把这Ng个中最重的老师,保存到一个新的队列中,这样遍历完一轮队列,就可以把所有的晋级的老师放入新的队列中,当当前队列为空之后,我们可以把新队列中的晋级的老鼠再赋值回去。循环往复即可。
完整代码如下:

#include<bits/stdc++.h>#include<iostream>usingnamespacestd;//每个老鼠的目标是尽可能的吃的多去成为一个胖老鼠// 玩的顺序是随机的对应Np个人来说// 每NG个程序员组成一个队伍// 最胖的老鼠进入下一个顺序// 所由的失败者是相同的排名// Ng个赢家再组成一个队伍去找最后的赢家//给出体重和最初的排序intNp;intNg;structnode{intw;intorder;}n[1005];intans[1005];intorder[1005];boolflag;queue<node>q;intmain(){cin>>Np>>Ng;for(inti=0;i<Np;i++){intx;cin>>x;n[i].w=x;}for(inti=0;i<Np;i++){intx;cin>>x;order[i]=x;n[x].order=x;}for(inti=0;i<Np;i++){q.push(n[order[i]]);}intgroup;if(Np%Ng==0){group=Np/Ng;}else{group=Np/Ng+1;}intindex=0;intcnt=0;intmaxx=0;// cout<<group<<endl;queue<node>temp;while(!q.empty()){node cur=q.front();//cout<<cur.order<<endl;q.pop();ans[cur.order]=group+1;cnt++;if(cur.w>maxx){maxx=cur.w;index=cur.order;}if(cnt==Ng){temp.push(n[index]);cnt=0;maxx=0;index=0;}if(q.empty()&&cnt>0){temp.push(n[index]);cnt=0;maxx=0;index=0;intgroupnumber=temp.size();if(groupnumber%Ng==0){group=groupnumber/Ng;}else{group=groupnumber/Ng+1;}}if(q.empty()){//说明刚好正分q=temp;intgroupnumber=temp.size();if(groupnumber%Ng==0){group=groupnumber/Ng;}else{group=groupnumber/Ng+1;}while(!temp.empty()){temp.pop();}if(q.size()==1){ans[q.front().order]=1;break;}}}for(inti=0;i<Np;i++){if(i==0){cout<<ans[i];}else{cout<<" "<<ans[i];}}return0;}

总结:这一题是队列模拟,只要弄清楚题意,按逻辑模拟即可

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 14:12:56

【深度学习新浪潮】什么是robotaxi?

关键词:Robotaxi;自动驾驶算法;多传感器融合;BEV感知;轨迹规划;模型预测控制 引言 Robotaxi(自动驾驶出租车)作为L4级自动驾驶的核心落地场景,正成为全球科技企业和车企的必争之地。与L2/L3级辅助驾驶不同,Robotaxi需要在复杂城市道路中实现全场景无人化运营,其技…

作者头像 李华
网站建设 2026/5/30 8:36:19

对 iOS IPA 文件进行深度混淆的一种实现路径

在不少 iOS 项目里&#xff0c;“深度混淆”这个词往往出现得比较晚。 它通常不是在项目设计阶段被提出来的&#xff0c;而是在某个具体问题出现之后&#xff1a;应用被解包、被分析、被修改&#xff0c;甚至被重签再次分发。等工程师真正把 IPA 拆开来看时&#xff0c;才意识到…

作者头像 李华
网站建设 2026/5/9 16:39:47

1、24 小时学会 Windows Server 2008 全攻略

24 小时学会 Windows Server 2008 全攻略 一、快速上手 Windows Server 2008 在短短 24 个小时的学习中,你将能够为任何规模的网络安装和配置 Microsoft Windows Server 2008 及其各种服务。采用循序渐进的方法,每节课都建立在前一节的基础上,让你从基础开始掌握 Windows …

作者头像 李华
网站建设 2026/6/15 13:55:06

测试工程师的“元认知”:思考你的思考过程

超越执行&#xff0c;走向思维的“第三只眼” 在软件质量保障的战场上&#xff0c;测试工程师常被视为“找茬者”或“守门人”。我们熟练运用等价类划分、边界值分析&#xff0c;编写精妙的自动化脚本&#xff0c;在需求的迷宫中寻找潜在的缺陷。然而&#xff0c;当我们沉浸在…

作者头像 李华
网站建设 2026/6/15 12:35:19

计算机毕业设计springboot家庭食谱推荐系统 基于 SpringBoot 的居家智能膳食推荐平台 面向家庭场景的个性化菜谱推送系统

计算机毕业设计springboot家庭食谱推荐系统j983k9b0 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。快节奏的城市生活让“今天吃什么”成为每天最烧脑的问题&#xff1a;冰箱里有…

作者头像 李华
网站建设 2026/6/10 15:01:56

2025年大模型学习终极指南:四阶段路线图,带你从零基础到实战专家,大模型从入门到精通!

大模型技术正以惊人的速度重塑各行各业。 清华大学人工智能研究院指出&#xff0c;大模型技术推动着与历史上动力革命、电力革命、算力革命相媲美的深刻变革。掌握这项技术&#xff0c;已成为2025年最具价值的技能投资。 但面对浩瀚的知识海洋&#xff0c;许多人陷入了“从何学…

作者头像 李华