Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
A250662
Number A(n,k) of tilings of a 2k X n rectangle using 2n k-ominoes of shape I; square array A(n,k), n>=0, k>=0, read by antidiagonals.
11
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 6, 36, 1, 1, 1, 1, 1, 1, 13, 95, 1, 1, 1, 1, 1, 1, 7, 22, 281, 1, 1, 1, 1, 1, 1, 1, 15, 64, 781, 1, 1, 1, 1, 1, 1, 1, 8, 25, 155, 2245, 1, 1, 1, 1, 1, 1, 1, 1, 17, 37, 321, 6336, 1, 1
OFFSET
0,13
LINKS
Wikipedia, Polyomino
EXAMPLE
Square array A(n,k) begins:
1, 1, 1, 1, 1, 1, 1, 1, 1, ...
1, 1, 1, 1, 1, 1, 1, 1, 1, ...
1, 1, 5, 1, 1, 1, 1, 1, 1, ...
1, 1, 11, 6, 1, 1, 1, 1, 1, ...
1, 1, 36, 13, 7, 1, 1, 1, 1, ...
1, 1, 95, 22, 15, 8, 1, 1, 1, ...
1, 1, 281, 64, 25, 17, 9, 1, 1, ...
1, 1, 781, 155, 37, 28, 19, 10, 1, ...
1, 1, 2245, 321, 100, 41, 31, 21, 11, ...
MAPLE
b:= proc(n, l) option remember; local d, k; d:= nops(l)/2;
if n=0 then 1
elif min(l[])>0 then (m->b(n-m, map(x->x-m, l)))(min(l[]))
else for k while l[k]>0 do od;
`if`(n<d, 0, b(n, subsop(k=d, l)))+
`if`(d=1 or k>d+1 or max(l[k..k+d-1][])>0, 0,
b(n, [l[1..k-1][], 1$d, l[k+d..2*d][]]))
fi
end:
A:= (n, k)-> `if`(k=0, 1, b(n, [0$2*k])):
seq(seq(A(n, d-n), n=0..d), d=0..14);
MATHEMATICA
b[n_, l_List] := b[n, l] = Module[{d = Length[l]/2, k}, Which[n == 0, 1, Min[l] > 0 , Function[{m}, b[n-m, l-m]][Min[l]], True, For[k=1, l[[k]] > 0, k++]; If[n<d, 0, b[n, ReplacePart[l, k -> d]]] + If[d == 1 || k > d+1 || Max[l[[k ;; k+d-1]]] > 0, 0, b[n, Join[l[[1 ;; k-1]], Array[1&, d], l[[k+d ;; 2*d]]]]]]]; A[n_, k_] := If[k == 0, 1, b[n, Array[0&, 2k]]]; Table[Table[A[n, d-n], {n, 0, d}], {d, 0, 14}] // Flatten (* Jean-François Alcover, Jan 30 2015, after Alois P. Heinz *)
CROSSREFS
Columns k=0+1,2-10 give: A000012, A005178(n+1), A236577, A236582, A247117, A250663, A250664, A250665, A250666, A250667.
Cf. A251072.
Sequence in context: A046623 A046602 A282304 * A369874 A340366 A031261
KEYWORD
nonn,tabl
AUTHOR
Alois P. Heinz, Nov 26 2014
STATUS
approved