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了!