|
MAPLE
|
b:= proc(l) option remember; local m; m:= nops(l);
`if`({map(x-> x[], l)[]}={0}, 1, add(add(`if`(l[i][j]>
`if`(i=m or nops(l[i+1])<j, 0, l[i+1][j]) and l[i][j]>
`if`(nops(l[i])=j, 0, l[i][j+1]), b(subsop(i=subsop(
j=l[i][j]-1, l[i]), l)), 0), j=1..nops(l[i])), i=1..m))
end:
a:= n-> b([[n$(n+1)], [n]$n]):
seq(a(n), n=0..5);
|