当前位置: 首页 > news >正文

第十六届蓝桥杯青少组C++省赛[2025.8.10]第二部分编程题(5、环形取硬币游戏)

参考程序:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;// 定义一个结构体,存储箱子编号和硬币数量
struct Box {int id;     // 箱子编号int coins;  // 硬币数量
};// 自定义排序规则
// 先按硬币数量升序,如果相等则按编号升序
bool cmp(const Box &a, const Box &b) {if (a.coins != b.coins) return a.coins < b.coins;return a.id < b.id;
}int main() {int T; // 测试组数cin >> T;while (T--) {int n;  // 箱子总数cin >> n;vector<Box> jerry; // Jerry 负责奇数编号vector<Box> tom;   // Tom   负责偶数编号for (int i = 1; i <= n; i++) {int c;cin >> c;if (i % 2 == 1) {jerry.push_back({i, c});} else {tom.push_back({i, c});}}// 如果 n 是奇数,Jerry 必胜if (n % 2 == 1) {cout << "Jerry" << endl;continue;}// 分别对 jerry 和 tom 的箱子排序sort(jerry.begin(), jerry.end(), cmp);sort(tom.begin(), tom.end(), cmp);// 取出最小的(排序后第一个)Box minJerry = jerry[0];Box minTom   = tom[0];if (minJerry.coins > minTom.coins) {cout << "Jerry" << endl;} else if (minJerry.coins < minTom.coins) {cout << "Tom" << endl;} else {// 硬币相等,比较编号:编号大的赢if (minJerry.id > minTom.id) {cout << "Jerry" << endl;} else {cout << "Tom" << endl;}}}return 0;
}

http://www.dtcms.com/a/338100.html

相关文章:

  • 虚幻基础:动作时间窗
  • Kafka文件存储机制
  • 录音转文字,如何做到“快、准、狠“多格式通吃?
  • 自学中医笔记(二)
  • 大模型对齐算法(四): DAPO,VAPO,GMPO,GSPO, CISPO,GFPO
  • 如何平衡电竞酒店和高校宿舍对AI云电竞游戏盒子的不同需求?
  • 【Python】Python 多进程与多线程:从原理到实践
  • NVIDIA CWE 2025 上海直击:从 GPU 集群到 NeMo 2.0,企业 AI 智能化的加速引擎
  • 软件定义汽车---创新与差异化之路
  • C/C++ 中 str、str、*str 在指针语境下的具体含义(以 char* str 为例):
  • 深化中东战略承诺,联想集团宣布在利雅得设区域总部
  • wait / notify、单例模式
  • 【深度学习基础】PyTorch Tensor生成方式及复制方法详解
  • 【每日一题】Day 7
  • Linux——进程间、线程间的通信
  • 【C++】 using声明 与 using指示
  • 《彩色终端》诗解——ANSI 艺术解码(DeepSeek)
  • C++设计模式:建造者模式
  • 《若依》权限控制
  • ESP32小智-语音活动(VAD)检测流程
  • Pytorch GPU版本安装保姆级教程
  • 【Python面试题】描述一次解决内存泄漏的过程。如何用tracemalloc或者objgraph定位问题?什么情况下会用__slots__?
  • 【领码课堂】AI写码不再“盲跑”,方案先行,自动化高效落地
  • BOSS直聘招聘端AI辅助自动化技术研究
  • 某储备土地前期开发项目控制保护区桥梁自动化监测
  • 8.19 note
  • HashMap:源码
  • OpenLayers 入门指南【七】:加载自定义控件
  • 部署耐达讯自动化Profibus转光纤方案,变频器通信从此告别‘掉线焦虑’!“
  • Next.js数据获取