login
A333758
Square array T(n,k), n >= 2, k >= 2, read by antidiagonals, where T(n,k) is the number of self-avoiding closed paths in the n X k grid graph which pass through all vertices on four (left, right, upper, lower) sides of the graph.
7
1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 5, 11, 5, 1, 1, 11, 36, 36, 11, 1, 1, 21, 122, 191, 122, 21, 1, 1, 43, 408, 1123, 1123, 408, 43, 1, 1, 85, 1371, 6410, 11346, 6410, 1371, 85, 1, 1, 171, 4599, 37165, 113748, 113748, 37165, 4599, 171, 1
OFFSET
2,8
FORMULA
T(n,k) = T(k,n).
EXAMPLE
T(4,3) = 3;
+--+--+ +--+--+ +--+--+
| | | | | |
+--* + + *--+ + +
| | | | | |
+--* + + *--+ + +
| | | | | |
+--+--+ +--+--+ +--+--+
Square array T(n,k) begins:
1, 1, 1, 1, 1, 1, 1, ...
1, 1, 3, 5, 11, 21, 43, ...
1, 3, 11, 36, 122, 408, 1371, ...
1, 5, 36, 191, 1123, 6410, 37165, ...
1, 11, 122, 1123, 11346, 113748, 1153742, ...
1, 21, 408, 6410, 113748, 2002405, 35669433, ...
PROG
(Python)
# Using graphillion
from graphillion import GraphSet
import graphillion.tutorial as tl
def A333758(n, k):
universe = tl.grid(n - 1, k - 1)
GraphSet.set_universe(universe)
cycles = GraphSet.cycles()
points = [i for i in range(1, k * n + 1) if i % k < 2 or ((i - 1) // k + 1) % n < 2]
for i in points:
cycles = cycles.including(i)
return cycles.len()
print([A333758(j + 2, i - j + 2) for i in range(11 - 1) for j in range(i + 1)])
CROSSREFS
Rows n=2..7 give: A000012, A001045(n-1), A333760, A358696, A358697, A358698.
Main diagonal gives A333759.
Cf. A333513.
Sequence in context: A251634 A196989 A034871 * A015109 A319699 A157636
KEYWORD
nonn,tabl
AUTHOR
Seiichi Manyama, Apr 04 2020
STATUS
approved