|
EXAMPLE
|
a(1) = 3:
+---+ +---+ +---+
|o o| |o o| |o-o|
|| || | X | | |
|o o| |o o| |o-o|
+---+ +---+ +---+.
a(2) = 280:
+-------+ +-------+ +-------+ +-------+ +-------+
|o o o-o| |o o o-o| |o-o o-o| |o o o o| |o o-o o|
| X | | X | | | | X | || | \ / |
|o o o o| |o o o o| |o o o o| |o o o o| |o o o o|
| / || | / / | || X || | | || ||
|o o o o| |o o o o| |o o o o| |o-o o o| |o o o o|
|| \ | || || | | | X | | / / |
|o o-o o| |o o-o o| |o-o o-o| |o-o o o| |o o o-o|
+-------+ +-------+ +-------+ +-------+ +-------+ ...
|
|
MATHEMATICA
|
b[n_, l_List] := b[n, l] = Module[{d = Length[l]/2, f = False, k}, Which[n == 0, 1, l[[1 ;; d]] == Array[f &, d], b[n - 1, Join[l[[d + 1 ;; 2*d]], Array[True &, d]]], True, For[k = 1, ! l[[k]], k++]; If[k < d && n > 1 && l[[k + d + 1]], b[n, ReplacePart[l, {k -> f, k + d + 1 -> f}]], 0] + If[k > 1 && n > 1 && l[[k + d - 1]], b[n, ReplacePart[l, {k -> f, k + d - 1 -> f}]], 0] + If[n > 1 && l[[k + d]], b[n, ReplacePart[l, {k -> f, k + d -> f}]], 0] + If[k < d && l[[k + 1]], b[n, ReplacePart[l, {k -> f, k + 1 -> f}]], 0]]];
A[n_, k_] := If[Mod[n*k, 2]>0, 0, If[k>n, A[k, n], b[n, Array[True&, k*2]]]];
a[n_] := A[2n, 2n];
|