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.