OFFSET
0,13
LINKS
Alois P. Heinz, Antidiagonals n = 0..22, flattened
EXAMPLE
A(2,3) = A(3,2) = 4, because there are 4 tilings of a 3 X 2 rectangle using dominoes and straight (3 X 1) trominoes:
.___. .___. .___. .___.
| | | |___| | | | |___|
| | | |___| |_|_| | | |
|_|_| |___| |___| |_|_|
Square array A(n,k) begins:
1, 1, 1, 1, 1, 1, 1, 1, ...
1, 0, 1, 1, 1, 2, 2, 3, ...
1, 1, 2, 4, 7, 15, 30, 60, ...
1, 1, 4, 14, 41, 143, 472, 1562, ...
1, 1, 7, 41, 184, 1069, 5624, 29907, ...
1, 2, 15, 143, 1069, 9612, 82634, 707903, ...
1, 2, 30, 472, 5624, 82634, 1143834, 15859323, ...
1, 3, 60, 1562, 29907, 707903, 15859323, 354859954, ...
MAPLE
b:= proc(n, l) option remember; local k, t;
if max(l[])>n then 0 elif n=0 or l=[] then 1
elif min(l[])>0 then t:=min(l[]); b(n-t, map(h->h-t, l))
else for k do if l[k]=0 then break fi od;
b(n, subsop(k=3, l))+ b(n, subsop(k=2, l))+
`if`(k<nops(l) and l[k+1]=0, b(n, subsop(k=1, k+1=1, l)), 0)+
`if`(k+1<nops(l) and l[k+1]=0 and l[k+2]=0,
b(n, subsop(k=1, k+1=1, k+2=1, l)), 0)
fi
end:
A:= (n, k)-> `if`(n>=k, b(n, [0$k]), b(k, [0$n])):
seq(seq(A(n, d-n), n=0..d), d=0..10);
MATHEMATICA
b[n_, l_] := b[n, l] = Module[{k, t}, If [Max[l] > n, 0, If[ n == 0 || l == {}, 1, If[Min[l] > 0, t = Min[l]; b[n-t, l-t], k = Position[l, 0, 1][[1, 1]]; b[n, ReplacePart[l, k -> 3]] + b[n, ReplacePart[l, k -> 2]] + If[k < Length[l] && l[[k+1]] == 0, b[n, ReplacePart[l, {k -> 1, k+1 -> 1}]], 0] + If[k+1 < Length[l] && l[[k+1]] == 0 && l[[k+2]] == 0, b[n, ReplacePart[l, {k -> 1, k+1 -> 1, k+2 -> 1}]], 0]]]]]; a[n_, k_] := If[n >= k, b[n, Array[0&, k]], b[k, Array[0&, n]]]; Table[Table[a[n, d-n], {n, 0, d}], {d, 0, 10}] // Flatten (* Jean-François Alcover, Dec 16 2013, translated from Maple *)
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Alois P. Heinz, Nov 30 2012
STATUS
approved