救援争先:按到达时间排序救援队算法解析与注意要点
```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; struct Team { int id; int depart; // 出发时间转换为分钟 int distance; // 路程时间转换为分钟 int arrive; // 到达时间 }; bool compare(const Team &a, const Team &b) { if (a.arrive != b.arrive) return a.arrive < b.arrive; if (a.depart != b.depart) return a.depart < b.depart; return a.id < b.id; } int timeToMinutes(const string &time) { int h = stoi(time.substr(0, 2)); int m = stoi(time.substr(3, 2)); return h * 60 + m; } int main() { int n; cin >> n; vector<Team> teams(n); for (int i = 0; i < n; ++i) { string depart, distance; cin >> depart >> distance; teams[i].id = i + 1; teams[i].depart = timeToMinutes(depart); teams[i].distance = timeToMinutes(distance); teams[i].arrive = teams[i].depart + teams[i].distance; } sort(teams.begin(), teams.end(), compare); for (const auto &team : teams) { cout << team.id << endl; } return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 时间字符串转换为分钟时,注意字符串的格式和范围,确保小时在00-23之间,分钟在00-59之间。 2. 比较函数中要正确处理多个排序条件,确保优先级顺序正确(到达时间 > 出发时间 > 编号)。 3. 输入时注意数组索引从0开始,但题目要求编号从1开始输出,需要在存储时进行+1处理。 ######[AI写代码神器 | 432点数解答 | 2025-08-07 10:58:12]
- C语言:用栈和队列模拟停车场进出与计费系统实现思路解析(阿里通义 | 627点数解答 | 2024-07-22 10:38:49)487
- C语言实现:停车场顺序栈与便道链队列模拟系统(GPT | 4017点数解答 | 2024-07-22 10:49:18)393
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)224
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)230
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)185
- 神秘科幻小说〈救援队〉,原著“阿瑟”究竟是谁?(GPT | 102点数解答 | 2024-11-18 23:56:59)111
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)278
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)308
- C++ 破解“国王游戏”弱化版:贪心排序算法巧求最少最大奖赏(DeepSeek | 550点数解答 | 2025-04-28 18:16:50)397
- 巧妙贪心排序:解决国王游戏中大臣奖赏最大化问题(DeepSeek | 1002点数解答 | 2025-05-10 20:58:15)193
- C++ 实现:用贪心算法解国王游戏(弱化版),使大臣获赏最大值最小(DeepSeek | 507点数解答 | 2025-05-10 20:59:01)174
- Java实现Student类:含构造、方法及年龄判定(字节豆包 | 464点数解答 | 2024-11-19 15:55:26)383