MBEEWALK - Bee Walk
Tác giả: khuc_tuan
Ngôn ngữ: Pascal
// {$APPTYPE CONSOLE}
{$mode delphi}
var
a : array[1..40,1..40,0..7] of integer;
procedure go(i, j, s : integer);
begin
if s > 7 then exit;
inc(a[i,j,s]);
go(i,j-1,s+1);
go(i,j+1,s+1);
if i mod 2=0 then
begin
go(i+1,j,s+1);
go(i+1,j-1,s+1);
go(i-1,j,s+1);
go(i-1,j-1,s+1);
end
else
begin
go(i+1,j+1,s+1);
go(i+1,j,s+1);
go(i-1,j+1,s+1);
go(i-1,j,s+1);
end;
end;
var
k, res, st, i, j, x, y : integer;
begin
go(20,20,0);
read(st);
for k:=1 to st do
begin
read(x);
y := x div 2;
x := x - y;
res := 0;
for i:=1 to 40 do
for j:=1 to 40 do
res := res + a[i,j,x] * a[i,j,y];
writeln(res);
end;
end.