一、题目描述
你有 n 台机器,编号为 1~n,每台都需要完成一项工作,机器经过配置后都能完成独 立完成一项工作。
假设第 i 台机器你需要花 B 分钟进行设置,然后开始运行,J 分钟后完成任务。
现在,你需要选择布置工作的顺序,使得用最短的时间完成所有工作。
注意,不能同时对两台进行配置,但配置完成的机器们可以同时执行他们各自的工作。
二、输入描述
第一行输入代表总共有 M 组任务数据 (1<M<=10)。
每组数第一行为一个整数指定机器的数量 N (0<N<=1000)。
随后的 N 行每行两个整数,第一个表示 B (0<=B<=10000),第二个表示 J (0<=J<=10000)
每组数据连续输入,不会用空行分隔。各组任务单独计时。
三、输出描述
对于每组任务,输出最短完成时间,且每组的结果独占一行。
四、测试用例
测试用例1:
1、输入
2
2
3 2
2 3
1
5 5
2、输出
7
10
3、说明
第一组:
排序后顺序:(2,3), (3,2)
设置时间累加
华为OD机试 - 任务规划优化算法
本文介绍了华为OD机试中的一道题目,涉及如何高效地规划任务以达到最短完成时间。问题核心在于不能同时配置两台机器,需要通过优化设置顺序来减少总时间。解题思路包括对机器按执行时间降序和设置时间升序排序,通过Java算法实现,最终展示了解题过程和输出结果。
订阅专栏 解锁全文
1万+






