题目描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30,每个物品有一个体积(正整数)。 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
输入输出格式 输入格式: 一个整数,表示箱子容量 一个整数,表示有n个物品 接下来n行,分别表示这n 个物品的各自体积 输出格式: 一个整数,表示箱子剩余空间。
输入输出样例 输入样例#1: 24 6 8 3 12 7 9 7 输出样例#1: 0
程序如下:
var n,m,max,k,l:longint; a:array[1..30] of longint;PRocedure init;var i:longint;begin readln(n); readln(m); for i:=1 to m do readln(a[i]);end;procedure main(k,l:longint);begin if (k>m)or(l>=n) then begin if (l<=n)and(max>n-l) then max:=n-l; exit; end; main(k+1,l+a[k]); main(k+1,l);end;begin init; max:=maxlongint; main(1,0); write(max);end.新闻热点
疑难解答