news 2026/7/11 9:43:56

GESP认证C++编程真题解析 | B3928 [GESP202312 四级] 田忌赛马

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3928 [GESP202312 四级] 田忌赛马

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:[B3928 GESP202312 四级] 田忌赛马 - 洛谷

【题目描述】

你要和田忌赛马。你们各自有N NN匹马,并且要进行N NN轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。

你的马匹的速度分别为u 1 , u 2 , ⋯ , u n u_1,u_2,\cdots,u_nu1,u2,un,田忌的马匹的速度分别为v 1 , v 2 , ⋯ , v n v_1,v_2,\cdots,v_nv1,v2,,vn。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。

【输入】

第一行一个整数N NN。保证1 ≤ N ≤ 5 × 1 0 4 1\le N \le 5\times 10^41N5×104

接下来一行N NN个用空格隔开的整数,依次为u 1 , u 2 , ⋯ , u n u_1,u_2,\cdots,u_nu1,u2,,un,表示你的马匹们的速度。保证1 ≤ u i ≤ 2 N 1\le u_i\le 2N1ui2N

接下来一行N NN个用空格隔开的整数,依次为v 1 , v 2 , ⋯ , v n v_1,v_2,\cdots,v_nv1,v2,,vn,表示田忌的马匹们的速度。保证1 ≤ v i ≤ 2 N 1\le v_i\le 2N1vi2N

【输出】

输出一行,表示你最多能获胜几轮。

【输入样例】

3 1 3 5 2 4 6

【输出样例】

2

【算法标签】

《洛谷 B3928 田忌赛马》 #贪心# #排序# #双指针two-pointer# #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=50005;// 最大数组长度intn;// 数组大小intans;// 答案:满足条件的配对数量intu[N],v[N];// 两个数组intmain(){// 输入数组大小cin>>n;// 输入并排序数组ufor(inti=1;i<=n;i++){cin>>u[i];}sort(u+1,u+n+1);// 输入并排序数组vfor(inti=1;i<=n;i++){cin>>v[i];}sort(v+1,v+n+1);// 双指针贪心匹配intj=1;// v数组的指针for(inti=1;i<=n;i++)// 遍历u数组{// 如果当前u[i]大于等于当前v[j],可以配对if(u[i]>=v[j]){j++;// 移动v指针ans++;// 成功配对数加1}// 如果u[i] < v[j],这个u[i]无法匹配任何v// 不移动j,尝试用更大的u[i+1]来匹配v[j]}// 输出结果cout<<ans<<endl;return0;}

【运行结果】

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

从泄露到合规:Open-AutoGLM日志权限改造全流程(含RBAC模型落地细节)

第一章&#xff1a;从日志泄露看权限失控的代价系统日志本应是排查问题的利器&#xff0c;却常因权限配置不当成为数据泄露的突破口。当开发人员为图方便将日志文件设置为全局可读&#xff0c;攻击者便能通过简单的目录遍历获取敏感信息。更严重的是&#xff0c;部分日志中明文…

作者头像 李华
网站建设 2026/7/10 16:34:04

阻塞队列:线程池核心机制take() vs poll()

《线程池核心机制&#xff1a;Worker线程如何高效获取与执行任务》《阻塞队列的魔法&#xff1a;take() vs poll()在线程池中的关键选择》《任务执行异常处理&#xff1a;线程池中的容错机制设计哲学》《从take()到run()&#xff1a;深入解析线程池工作线程的完整生命周期》一、…

作者头像 李华
网站建设 2026/7/10 19:35:08

【2025最新】基于SpringBoot+Vue的宠物商城网站管理系统源码+MyBatis+MySQL

&#x1f4a1;实话实说&#xff1a;用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否&#xff0c;咱们都是朋友&#xff0c;能帮的地方我绝不含糊。买卖不成仁义在&#xff0c;这就是我的做人原则。摘要 随着互联网技术的快速发展和人们生活水平的不断提…

作者头像 李华
网站建设 2026/7/10 21:35:06

LangFlow Reactor反应器模式响应事件

LangFlow Reactor反应器模式响应事件 在构建智能对话系统、自动化内容生成流程或复杂推理代理时&#xff0c;开发者常常面临一个共同的挑战&#xff1a;如何快速验证想法&#xff0c;同时保证系统的可维护性和团队协作效率&#xff1f;传统的代码开发方式虽然灵活&#xff0c;但…

作者头像 李华
网站建设 2026/7/8 23:37:58

ECharts 饼图(Pie Chart)教程

ECharts 饼图&#xff08;Pie Chart&#xff09;教程 ECharts 的饼图&#xff08;series.type ‘pie’&#xff09;主要用于展示数据在总体中的占比比例&#xff0c;支持实心饼图、圆环图&#xff08;南丁格尔图/玫瑰图&#xff09;、多层嵌套等变体。数据通过 data 数组中的…

作者头像 李华
网站建设 2026/7/10 18:40:00

Open-AutoGLM日志加密部署难题:90%团队忽略的2个致命风险点

第一章&#xff1a;Open-AutoGLM 日志数据加密存储在 Open-AutoGLM 系统中&#xff0c;日志数据的安全性至关重要。为防止敏感信息泄露&#xff0c;系统采用端到端加密机制对日志进行安全存储。所有日志在写入磁盘前均经过加密处理&#xff0c;确保即使存储介质被非法获取&…

作者头像 李华