讨论 / 好疯狂的数据——PASCAL
renxuandi 2012-09-01 23:06:00
点我顶贴 收藏 删除
var a:array[0..26,0..26] of 0..1;

b:array[0..26,0..26] of qword;

n,m,n1,m1,i,j,k,s:longint;

begin

readln(n,m,n1,m1);

for i:=0 to n do for j:=0 to m do a[i,j]:=1;

a[n1,m1]:=0;

a[n1-1,m1+2]:=0;

a[n1-1,m1-2]:=0;

a[n1-2,m1+1]:=0;

a[n1-2,m1-1]:=0;

a[n1+1,m1+2]:=0;

a[n1+1,m1-2]:=0;

a[n1+2,m1+1]:=0;

a[n1+2,m1-1]:=0;

b[n,m]:=1;

for i:=n downto 0 do for j:=m downto 0 do begin

if (i<>n) or (j<>m) then

b[i,j]:=(b[i+1,j]+b[i,j+1])*a[i,j];

end;

writeln(b[0,0]);

end.

题目是不太难,就是这个结果太大,我估计错误了,一开始还用了shortint!(额......)后来发现就连longint 也不行,只好用qword,AC了!

查看更多回复
提交回复