Responsive image

问题 1132 --批处理作业

1132: 批处理作业

时间限制: 1 Sec  内存限制: 128 MB
提交: 2  解决: 1
[提交][状态][讨论版][命题人:]

题目描述

问题描述给定n个作业的集合J=(J1, J2, … , Jn)。每一个作业Ji都有两项任务需要分别在2台机器上完成。每一个作业必须先由机器1处理,然后再由机器2处理。作业Ji需要机器i的处理时间为tjii=1,2, … ,n; j=1,2。对于一个确定的作业调度,设Fji是作业i在机器i上完成处理的时间。则所有作业在机器2上完成处理的时间和为该作业调度的完成时间和。 

批处理作业调度问题要求对于给定的n个作业,制定一个最佳的作业调度方案,使其完成时间和达到最小。 
批处理作业调度问题的一个常见例子是在计算机系统中完成一批n个作业,每个作业都要完成先计算,然后将计算机结果打印输出这两项任务。计算任务由计算机的中央处理器完成,打印输出任务由打印机完成。因此在这种情况下,计算机的中央处理器是机器1,打印机是机器2。 

J[i]        机器1     机器2
作业1         2          1
作业2         3          1
作业3         2          3
3个作业的6种可能的调度方案是1,2,31,3,22,1,32,3,13,1,23,2,1

它们所相应的完成时间和分别是19,18,20,21,19,19。易见,最佳调度方案是1,3,2,其完成时间和为18。
以1,2,3为例,其时间计算为:
作业1在机器1上完成的时间为2,在机器2上完成的时间为3
作业2在机器1上完成的时间为5,在机器2上完成的时间为6
作业3在机器1上完成的时间为7,在机器2上完成的时间为10
3+6+10=19,所以是19
当调度为1,3,2时:
作业1在机器1上完成的时间为2, 在机器2上完成的时间为3
作业3在机器1上完成的时间为4,在机器2上完成的时间为7
作业2在机器1上完成的时间为7,在机器2上完成的时间为8

3+7+8=18,所以时间和为18

输入描述

要求输入:

1、作业数 第一行输入需调度的作业n(0<=n<=30)

2、下面跟着输入n行,每行输入两个整数r1,r2;其中r1为作业在机器1上的执行时间;r2为该作业在机器2上的执行时间。

输出描述

要求输出:

最佳完成时间 输出一行作为作业2的最佳完成时间。

样例输入

3
2 1
3 1
2 3

样例输出

18

来源

[提交][状态]
ACM算法攻关部