#YS2T4. 运输箱子
运输箱子
题目描述:
小奥的爸爸有一辆货运卡车,今天需要用这辆卡车把n个箱子从仓库运送到码头(不同箱子的目标码头可能不同),这辆卡车在每次运输的时候有箱子数目的限制和总重量的限制。同时运输箱子时需要遵循如下规则: 1.需要按照给定箱子的顺序运输这些箱子,也就是按照输入的顺序从前往后运输,可以一次运输多个,但是不能违反数目和重量限制。 2.对于卡车上的箱子需要按照顺序送他们,卡车会通过一次行程将最前面的箱子送到目的地码头并卸货,如果卡车已经在对应的码头,不需要额外行程,箱子也会立马被卸货。 3.卡车上所有箱子被卸货后 ,卡车需要一次行程回到仓库,再取出一些箱子(如果还有的话)。 4.卡车在将所有箱子运输并卸货后,最后要返回仓库。 5.从仓库到码头,从码头回仓库,从某个码头到另一个码头均算作一次行程。 给定 n个箱子的信息,每一个箱子的信息包括该箱子要运送到的码头以及该箱子的重量,给定码头的数量m(n 个箱子的目标码头均为[1,m]之间的数),以及卡车每次运输时箱子数目的限制 maxNum 和重量的限制 maxWeight。请帮助小奥计算出将所有箱子运到相应码头后再回到仓库的最少行程次数。
输入格式:
n + 1行,,第一行4个正整数 n 箱子个数,m 码头个数,maxNum 卡车一次能装箱子的最大数量,maxWeight 卡车一次能装箱子的最大重量。接下来 n行,每行两个数表示箱子的目标码头和重量。
输出格式:
一个正整数,表示吧所有箱子按顺序送完后所需的最少行程次数。
样例:
6 3 6 7
1 4
1 2
2 1
2 1
3 2
3 4
6
提示
1 <= n <= 1000; 1 <= m,maxNum,maxWeight <= 1000.
相关
在下列比赛中: