装载问题ACC pascal程序

来源:互联网 发布:客服绩效考核软件 编辑:程序博客网 时间:2024/06/10 14:40

2001年分区联赛普级组之四 装箱问题

Time Limit:1000MS  Memory Limit:65536KTotal Submit:391 Accepted:213

Description

  有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30=,每个物品有一个体积(正整数)。 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

Input

Output

Sample Input

24    一个整数,表示箱子容量6      一个整数,表示有n个物品8    接下来n行,分别表示这n 个物品的各自体积312797

Sample Output

0  一个整数,表示箱子剩余空间。

Source

elba


  • type   arr=array[1..1000]of longint;var  i,j,k,n,m,l,min,max,mm:longint;  b:array[1..1000]of boolean;  f:arr;procedure aa(n,dep:longint);var  i,j,k:longint;begin if (dep>mm) or (n>=m) then  begin   if (dep=mm+1) and (n<=m) then    begin      if n>max then max:=n;      exit;    end;   if n=m then    begin     writeln(n);     halt;    end;   exit;  end;  if n>max then max:=n;  aa(n+f[dep],dep+1);  aa(n,dep+1);end;begin  readln(mm,m); for i:=1 to mm do  read(f[i]);  fillchar(b,sizeof(b),false);  aa(0,1);  write(max);end.

1 0
原创粉丝点击