%I #21 Nov 27 2022 11:03:19
%S 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,
%T 1,43,408,1123,1123,408,43,1,1,85,1371,6410,11346,6410,1371,85,1,1,
%U 171,4599,37165,113748,113748,37165,4599,171,1
%N 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.
%F T(n,k) = T(k,n).
%e T(4,3) = 3;
%e +--+--+ +--+--+ +--+--+
%e | | | | | |
%e +--* + + *--+ + +
%e | | | | | |
%e +--* + + *--+ + +
%e | | | | | |
%e +--+--+ +--+--+ +--+--+
%e Square array T(n,k) begins:
%e 1, 1, 1, 1, 1, 1, 1, ...
%e 1, 1, 3, 5, 11, 21, 43, ...
%e 1, 3, 11, 36, 122, 408, 1371, ...
%e 1, 5, 36, 191, 1123, 6410, 37165, ...
%e 1, 11, 122, 1123, 11346, 113748, 1153742, ...
%e 1, 21, 408, 6410, 113748, 2002405, 35669433, ...
%o (Python)
%o # Using graphillion
%o from graphillion import GraphSet
%o import graphillion.tutorial as tl
%o def A333758(n, k):
%o universe = tl.grid(n - 1, k - 1)
%o GraphSet.set_universe(universe)
%o cycles = GraphSet.cycles()
%o points = [i for i in range(1, k * n + 1) if i % k < 2 or ((i - 1) // k + 1) % n < 2]
%o for i in points:
%o cycles = cycles.including(i)
%o return cycles.len()
%o print([A333758(j + 2, i - j + 2) for i in range(11 - 1) for j in range(i + 1)])
%Y Rows n=2..7 give: A000012, A001045(n-1), A333760, A358696, A358697, A358698.
%Y Main diagonal gives A333759.
%Y Cf. A333513.
%K nonn,tabl
%O 2,8
%A _Seiichi Manyama_, Apr 04 2020
|