讨论 / 为什么??
寒风,飞雪 2011-10-19 06:01:00
点我顶贴 收藏 删除
program gf;

var n,m,r,i,j,k:longint;

rmb,rp,time:array[1..1010] of longint;

f,g:array[0..3000,0..3000] of longint;

begin

readln(n);

for i:=1 to m do

for j:=1 to r do

f[i,j]:=0;

for i:=1 to n do

readln(rmb[i],rp[i],time[i]);

read(m,r);

for i:=1 to n do

for j:=m downto rmb[i] do

for k:=r downto rp[i] do

begin

if (g[j,k]<g[j-rmb[i],k-rp[i]]+1) then

begin

f[j,k]:=f[j-rmb[i],k-rp[i]]+time[i];

g[j,k]:=g[j-rmb[i],k-rp[i]]+1; end

else if (g[j,k]=g[j-rmb[i],k-rp[i]]+1)and(f[j,k]>f[j-rmb[i],k-rp[i]]+time[i])then

begin

f[j,k]:=f[j-rmb[i],k-rp[i]]+time[i];

g[j,k]:=g[j-rmb[i],k-rp[i]]+1; end;

end;

writeln(f[m,r]);

readln;

readln;

end.

为什么f,g:array[0..3000,0..3000] of longint;能过而f,g:array[1..3000,1..3000] of longint;不能过呢?

查看更多回复
提交回复