讨论 / 怎么第一个点过不去
B-L-A-C-K 2010-06-29 22:28:00
点我顶贴 收藏 删除
哪位牛帮看下为什么第一个点过不去?第一个点测试数据是啥?

program p356;

var f:array[0..100,0..100]of longint;

max:longint;

i,j,k,n,a,b,x,y:integer;

begin

read(a,b,n);

fillchar(f,sizeof(f),0);

dec(b);

if b=0 then begin

write(’mty zhen mei yong!’);

exit

end;

for i:=1 to n do

begin

read(x,y);

if y>b then continue;

if x>=a then begin

write(’1’);

exit

end;

for j:=a downto x do

for k:=b downto y do

if f[j-x,k-y]>0 then

if (f[j,k]=0)or(f[j-x,k-y]+1<f[j,k]) then f[j,k]:=f[j-x,k-y]+1;

for j:=0 to x do

for k:=0 to y do

if f[j,k]=0 then f[j,k]:=1;

end;

max:=maxlongint;

for i:=0 to b do if (f[a,i]>0)and(f[a,i]<max) then max:=f[a,i];

if max<maxlongint then write(max)

else write(’mty zhen mei yong!’)

end.

#1 SC@2008-10-16 01:38:00
回复 删除
不知道!!!!!!!!!!!!!

#2 玉十三殒@2008-10-16 01:39:00
回复 删除
就是这个情况?
#3 SC@2008-10-16 01:46:00
回复 删除
Why not me?
#4 @2010-06-29 22:28:00
回复 删除
把第17行的 'if x>=a then begin' 改为 'if x=a then begin'
查看更多回复
提交回复