酷代码 AI
菜单
服务商

C++ 实现学校活动拍照最少出动次数规划,附代码详解

以下是使用 C++ 解决此问题的代码: ```cpp #include <iostream> #include <vector> #include <algorithm> struct Activity { std::string start; std::string end; }; bool compareActivities(Activity a, Activity b) { // 先比较结束时间,如果结束时间相同再比较开始时间 if (a.end!= b.end) { return a.end < b.end; } return a.start < b.start; } int main() { int n = 5; std::vector<Activity> activities = { {"15:42", "16:38"}, {"12:08", "20:18"}, {"14:16", "17:16"}, {"14:17", "17:53"}, {"18:48", "19:48"} }; // 按照结束时间升序排序 std::sort(activities.begin(), activities.end(), compareActivities); int count = 0; std::string currentEnd = "00:00"; for (const auto& activity : activities) { if (activity.start >= currentEnd) { count++; currentEnd = activity.end; } } std::cout << "最少出动次数: " << count << std::endl; return 0; } ``` 注意: 1. 对于时间的处理可能需要更复杂的逻辑,这里只是简单比较字符串。 2. 输入的时间格式需要保持一致,避免出现异常。 3. 考虑添加错误处理代码,以应对可能的输入错误。 ######[AI写代码神器 | 396点数解答 | 2025-01-04 13:49:41]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]