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.
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
Examples
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, ...
Crossrefs
Programs
-
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)])
Formula
T(n,k) = T(k,n).