(Python)
从itertools导入产品、组合、groupby、islice
从networkx导入emptygraph,simple_cycles
如果n<=1:返回0
G=empty_graph(v表示乘积((0,1,2)中的v,repeat=n)如果没有(len(list(G))&1,k==2表示k,G表示groupby(v)中的G))
对于组合(G,2)中的a,b:
r=元组(如果a[i]=b【i】),3))
如果len(r)==1和a[r[0]]=2和b[r[0]]=2:
G.add_边缘(a,b)
elif-len(r)==2和r[0]+1==r[1]和a[r[0]和b[r[0]和a[r[0]==a[r[1]和b[r[0]==b[r[1]:
G.add_边缘(a,b)
返回和(simple_cycles(G)中c的1)#柴华武2024年1月18日