MBEEWALK - Bee Walk
Tác giả: ladpro98
Ngôn ngữ: Pascal
program BEE;
uses math;
const fi = '';
fo = '';
maxn = 50;
B = trunc(1e9);
dx: array[1..6] of longint = (-1,-1,0,1,1,0);
dy: array[1..6] of longint = (0,1,1,0,-1,-1);
var F:array[-maxn..maxn,-maxn..maxn,0..maxn] of longint;
chk:array[-maxn..maxn,-maxn..maxn,0..maxn] of boolean;
inp,oup:text;
n,i,res,t,tt: longint;
function DP(i,j,step: longint): longint;
var d,x,y:longint;
begin
if chk[i,j,step] then exit(F[i,j,step]);
chk[i,j,step] := true;
if step = 0 then exit(0);
for d:=1 to 6 do begin
x := i + dx[d]; y := j + dy[d];
F[i,j,step] := (F[i,j,step] + DP(x,y,step-1)); //mod B;
end;
exit(F[i,j,step]);
end;
begin
assign(inp,fi);reset(inp);assign(oup,fo);rewrite(oup);
readln(inp,t);
for tt:=1 to t do begin
readln(inp,n); chk[0,0,0] := true; F[0,0,0] := 1;
for i:=1 to 6 do begin
chk[dx[i],dy[i],1] := true;
F[dx[i],dy[i],1] := 1;
end;
res := DP(0,0,n);
writeln(oup,res);
end;
close(oup);
end.