切换到宽版
  • 6200阅读
  • 6回复

noip2006背包 [复制链接]

上一主题 下一主题
离线yuandama
 
只看楼主 倒序阅读 0 发表于: 2007-06-16
就是noip的第二题!大家帮帮忙,看下那里错拉!
var n,m:longint;
  f:array[0..25,0..3000] of qword;
  f1:array[1..25,1..2] of longint;
  i,j,k,l,o:longint;
begin
assign(input,'happy.in');reset(input);
assign(output,'happy.out');rewrite(output);
readln(n,m);
for i:=1 to m do readln(f1[i,1],f1[i,2]);
fillchar(f,sizeof(f),0);
for i:=1 to m do begin
  for j:=0 to n do f[i,j]:=f[i-1,j];
  for j:=f1[i,1] to n do if f[i-1,j-f1[i,1]]+f1[i,1]*f1[i,2]>f[i,j] then f[i,j]:=f[i-1,j-f1[i,1]]+f1[i,1]*f1[i,2];
end;
writeln(f[m,n]);
close(input);close(output);
end.
离线yuandama
只看该作者 1 发表于: 2007-06-16
大牛都不告诉我吗?呜呜
离线haiwei
只看该作者 2 发表于: 2007-07-12
是不是没赋初值?
haiwei
http://user.qzone.qq.com/317048955
离线haiwei
只看该作者 3 发表于: 2007-07-12
编的好像太简单了
haiwei
http://user.qzone.qq.com/317048955
离线haiwei
只看该作者 4 发表于: 2007-07-12
尽量考虑得更全面一些
haiwei
http://user.qzone.qq.com/317048955
离线wangyicheng
只看该作者 5 发表于: 2007-11-16
我当时也没做出来,
离线hzx2008
只看该作者 6 发表于: 2007-11-23
好象对的啊?
快速回复
限100 字节
 
上一个 下一个