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

2023年厦门市第30届小学生C++信息学竞赛复赛上机操作题(三、2023C. 太空旅行(travel))

#include <bits/stdc++.h>using namespace std;struct Ship {int u; // 从地球到火星的时间int v; // 从火星到天王星的时间
};// 自定义比较函数
bool cmp(const Ship &a, const Ship &b) {return a.u + max(a.v, b.u) + b.v < b.u + max(b.v, a.u) + a.v;
}int main() {// 使用 freopen 进行文件输入输出//freopen("travel.in", "r", stdin);  // 输入文件//freopen("travel.out", "w", stdout); // 输出文件int N; // 飞船数量cin >> N;vector<Ship> ships(N);// 输入飞船的时间数据for (int i = 0; i < N; ++i) {cin >> ships[i].u >> ships[i].v;}// 使用自定义比较函数进行排序sort(ships.begin(), ships.end(), cmp);// 输出飞船的排序结果 /*for (int i = 0; i < N; ++i) {cout << ships[i].u << " " << ships[i].v << endl;}*/int earth_departure_time = 0; // 从地球出发的时间int mars_departure_time = 0;   // 从火星出发的时间int total_time = 0;            // 总时间// 贪心算法计算总时间for (const auto &ship : ships) {// 更新从地球出发的时间earth_departure_time += ship.u;// 计算从火星出发的时间mars_departure_time = max(earth_departure_time, mars_departure_time) + ship.v;// 更新总时间为当前飞船到达天王星的时间total_time = mars_departure_time;}// 输出最终的总时间cout << total_time << endl;return 0;
}


http://www.mrgr.cn/news/81044.html

相关文章:

  • pat乙级1072 开学寄语
  • 周记-修改系统实践对软件的影响
  • ES6学习Generator 函数(生成器)(八)
  • 嵌入的律动,科技的心跳
  • 虚拟机VMware的安装问题ip错误,虚拟网卡
  • Kubernetes(k8s)安装详细过程
  • 力学笃行(二)Qt 示例程序运行
  • 腾讯云云开发 Copilot 深度探索与实战分享
  • 【多模态】swift-3框架使用
  • 定时任务——定时任务技术选型
  • dockerfile文档编写(2):docker pull和pip镜像加速
  • 【Rust自学】4.4. 引用与借用
  • javaEE--计算机是如何工作的-1
  • 【Rust自学】5.1. 定义并实例化struct
  • Timsort算法
  • 排序算法 (插入,选择,冒泡,希尔,快速,归并,堆排序)
  • 【Rust自学】4.5. 切片(Slice)
  • yolov8的标签匹配解析
  • 39.在 Vue3 中使用 OpenLayers 导出 GeoJSON 文件及详解 GEOJSON 格式
  • 多个Echart遍历生成 / 词图云
  • [Java]合理封装第三方工具包(附视频)
  • 数据仓库工具箱—读书笔记02(Kimball维度建模技术概述03、维度表技术基础)
  • 海格通信嵌入式面试题及参考答案
  • draw.io 导出svg图片插入word后模糊(不清晰 )的解决办法
  • Restaurants WebAPI(四)——Identity
  • nodejs利用子进程child_process执行命令及child.stdout输出数据