zsx 2009-09-08 05:52:00
点我顶贴
收藏
删除
为什么P=MAXLONGINT不过
而P=MAXINT却过了?
程序如下:
var a:array[-21..21,-79..79] of longint;
n,m,t,i,j,k,x,p,y,h,o:longint;
begin
read(m,t,n);
p:=maxint;
for i:=-21 to 21 do
for j:=-79 to 79 do
if (i>0)or(j>0) then
a[i,j]:=p;
for i:=1 to n do begin
read(x,y,o);
for j:=m downto 1 do
for k:=t downto 1 do
if a[j-x,k-y]+o<a[j,k] then a[j,k]:=a[j-x,k-y]+o;
end;
write(a[m,t]);end.
#1 webeskycn@2009-09-08 05:52:00
12955
回复
删除
if a[j-x,k-y]+o<a[j,k] then a[j,k]:=a[j-x,k-y]+o;
maxlongint 会使你这一句溢出变为负值。