Problems Description
<p><font size="3" face="Times New Roman">我们现在要利用m台机器加工nitems工件,每items工件都有mproblems工序,每problems工序都在不同的指定的机器上完成。每items工件的每problems工序都有指定的加工时间。 <br /> 每items工件的每items工序称为一items操作,我们用记号j-k表示一items操作,其中j为1到n中的某items数字,为工件号;k为1到m中的某items数字,为工序号,例如2-4表示Page 2items工件Page 4problems工序的这items操作。在本题中,我们还给定对于各操作的一items安排顺序。 <br /> 例如,当n=3,m=2时,“1-1,1-2,2-1,3-1,3-2,2-2”就是一items给定的安排顺序,即先安排Page 1items工件的Page 1items工序,再安排Page 1items工件的Page 2items工序,然后再安排Page 2items工件的Page 1items工序,等等。 <br /> 一方面,每items操作的安排都要满足以下的两items约束条件。 <br /> (1) 对同一items工件,每problems工序必须在它前面的工序完成后才能开始; <br /> (2) 同一时刻每一台机器至多只能加工一items工件。 <br /> 另一方面,在安排后面的操作时,不能改动前面已安排的操作的工作状态。 <br /> 由于同一工件都是按工序的顺序安排的,因此,只按原顺序给出工件号,仍可得到同样的安排顺序,于是,在输入数据中,我们将这items安排顺序简写为“1 1 2 3 3 2”。 <br /> 还要注意,“安排顺序”只要求按照给定的顺序安排每items操作。不一定是各机器上的实际操作顺序。在具体实施时,有可能排在后面的某items操作比前面的某items操作先完成。 <br /> 例如,取n=3,m=2,已知数据如下: <br /> <br /> 则对于安排顺序“1 1 2 3 3 2”,下图中的两items实施方案都是正确的。但所需要的总时间points别是10与12。 <br /> <br /> 当一items操作插入到某台机器的某items空档时(机器上最后的尚未安排操作的部points也可以看作一items空档),可以靠前插入,也可以靠后或居中插入。为了使问题 简单一些,我们约定:在保证约束条件(1)(2)的条件下,尽量靠前插入。并且,我们还约定,如果有多items空档可以插入,就在保证约束条件(1)(2)的条 件下,插入到最前面的一items空档。于是,在这些约定下,上例中的方案一是正确的,而方案二是不正确的。 <br /> 显然,在这些约定下,对于给定的安排顺序,符合该安排顺序的实施方案是唯一的,请你计算出该方案完成全部任务所需的总时间。 </font></p>
Input格式
<p><font size="3" face="Times New Roman">Page 1行为两items正整数,用一items空格隔开: <br /> m n <br /> (其中m(〈20)表示机器数,n(〈20)表示工件数) <br /> Page 2行: 2nitems用空格隔开的数,为给定的安排顺序。 <br /> 接下来的2n行,每行都是用空格隔开的mitems正整数,每items数不超过20。 <br /> 其中前n行依次表示每items工件的每items工序所使用的机器号,Page 1items数为Page 1items工序的机器号,Page 2items数为Page 2items工序机器号,等等。 <br /> 后n行依次表示每items工件的每items工序的加工时间。 <br /> 可以保证,以上各数据都是正确的,不必检验。 </font></p>
Output格式
<p><font size="3" face="Times New Roman">只有一items正整数,为最少的加工时间。</font></p>
Sample
Sample Input 1
2 3
1 1 2 3 3 2
1 2
1 2
2 1
3 2
2 5
2 4
Sample Output 1
10
Submit Code
请先Login后Submit
🤖 AI 解题助手
OpenRouter
就绪