%I #19 Jan 15 2019 19:14:56
%S 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,
%T 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,
%U 155,2245,1,1,1,1,1,1,1,1,17,37,321,6336,1,1
%N 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.
%H Alois P. Heinz, <a href="/A250662/b250662.txt">Antidiagonals n = 0..100, flattened</a>
%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Polyomino">Polyomino</a>
%e Square array A(n,k) begins:
%e 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
%e 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
%e 1, 1, 5, 1, 1, 1, 1, 1, 1, ...
%e 1, 1, 11, 6, 1, 1, 1, 1, 1, ...
%e 1, 1, 36, 13, 7, 1, 1, 1, 1, ...
%e 1, 1, 95, 22, 15, 8, 1, 1, 1, ...
%e 1, 1, 281, 64, 25, 17, 9, 1, 1, ...
%e 1, 1, 781, 155, 37, 28, 19, 10, 1, ...
%e 1, 1, 2245, 321, 100, 41, 31, 21, 11, ...
%p b:= proc(n, l) option remember; local d, k; d:= nops(l)/2;
%p if n=0 then 1
%p elif min(l[])>0 then (m->b(n-m, map(x->x-m, l)))(min(l[]))
%p else for k while l[k]>0 do od;
%p `if`(n<d, 0, b(n, subsop(k=d, l)))+
%p `if`(d=1 or k>d+1 or max(l[k..k+d-1][])>0, 0,
%p b(n, [l[1..k-1][],1$d,l[k+d..2*d][]]))
%p fi
%p end:
%p A:= (n, k)-> `if`(k=0, 1, b(n, [0$2*k])):
%p seq(seq(A(n,d-n), n=0..d), d=0..14);
%t 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_ *)
%Y Columns k=0+1,2-10 give: A000012, A005178(n+1), A236577, A236582, A247117, A250663, A250664, A250665, A250666, A250667.
%Y Cf. A251072.
%K nonn,tabl
%O 0,13
%A _Alois P. Heinz_, Nov 26 2014