VB:装箱问题~~求代码~~

来源:百度知道 编辑:UC知道 时间:2024/06/05 20:24:23
题一:装箱问题
【问题描述】
有一个箱子容量为v(正整数,0≤v≤20000),同时有n个物品(0≤n≤30),每个物品有一个体积 (正整数)。要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

动态规划

输入:v,n,体积(n个)

样例输入文件:(zxin.txt)
5 3
1
6
2

输出文件:(zxout.txt)
2

输入解释:箱子体积为5,有3个物品,体积为1、6、2

输出:最少剩下2

程序:
Dim V, N
Open "zxin.txt" For Input As #1
Open "zxout.txt" For Output As #2
Input #1, V, N
Dim myV(1 To 30) As Integer
For i = 1 To N
Input #1, myV(i)
Next i
Dim f(0 To 30, 0 To 20000) As Integer
For i = 1 To N
For j = 1 To V
t1 = f(i - 1, j) '不拿
t2 = f(i - 1, j) '不拿
If myV(i) <= j Then
If f(i - 1, j - myV(i)) + myV(i) > t1 Then
t1 = f(i - 1, j - myV(i)) + myV(i)
End If
End If '腾空拿
If t2 + myV(i) <= V Then
t2 = t2 + myV(i)
End If '直接拿
f(i, j) = IIf(