有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。
要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
分析:水题,直接搜过去了。
var n,x,a,max:longint; m:array[1..20000] of longint; procedure try(s,ans:longint); begin if (s<max) and (s>=0) then max:=s; if ans>x then exit; if s<=0 then exit; try(s-m[ans],ans+1); try(s,ans+1); end; begin readln(n); readln(x); for a:=1 to x do readln(m[a]); max:=n; try(n,1); write(max); end.