讨论 / P57 找啊找啊找GF 奇怪问题
dongfanzhu 2010-08-11 01:25:00
点我顶贴 收藏 删除
为什么把longint改成qword就对了呢

不改才50!!!奇怪

---------------------------------------------------

f,t:array[0..1000,0..1000] of qword;

-----------------------------------------------------

代码:

program P57;

var

n,m,r,i,j,k,max,min:longint;

f,t:array[0..1000,0..1000] of qword;

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

begin

readln(n);

for i:=1 to n do readln(rmb[i],rp[i],time[i]);

readln(m,r);

for i:=1 to m do

for j:=1 to r do

t[i,j]:=maxlongint;

for i:=1 to n do

for j:=m downto rmb[i] do

for k:=r downto rp[i] do

if f[j,k]<f[j-rmb[i],k-rp[i]]+1 then

begin

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

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

end

else

if f[j,k]=f[j-rmb[i],k-rp[i]]+1 then

if t[j,k]>t[j-rmb[i],k-rp[i]]+time[i] then

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

min:=maxlongint;

for i:=1 to m do

for j:=1 to r do

if (f[i,j]>max)or((f[i,j]=max)and(t[i,j]<min))then

begin

max:=f[i,j];

min:=t[i,j];

end;

writeln(min);

end.

#1 dongfanzhu@2010-08-11 01:25:00
回复 删除
不好意思

本人老眼昏花了........0.0

我前面赋值了maxlongint....

看来我要好好检查眼睛了

查看更多回复
提交回复