|
PROG
|
(Python)
from itertools import product, combinations
from networkx import empty_graph, find_cliques
v = tuple(int(q, 2) for q in (''.join(p) for p in product('01', repeat=n)) if '11' not in q+q[0])
G = empty_graph(v)
e = tuple((a, b) for a, b in combinations(v, 2) if (lambda m: (m&-m)^m if m else 1)(a^b))
G.add_edges_from(e)
return sum(1 for c in find_cliques(G)) # Chai Wah Wu, Jan 11 2024
|