(Python)
#使用石墨
从graphillion导入GraphSet
定义make_nXk_king_graph(n,k):
网格=[]
对于范围(1,k+1)中的i:
对于范围(1,n)中的j:
网格.附加((i+(j-1)*k,i+j*k))
如果i<k:
网格.附加((i+(j-1)*k,i+j*k+1))
如果i>1:
网格.附加((i+(j-1)*k,i+j*k-1))
对于范围(1,k*n,k)中的i:
对于范围(1,k)中的j:
网格.附加((i+j-1,i+j))
回流格栅
宇宙=make_nXk_king_graph(n,k)
GraphSet.set_universe(宇宙)
cycles=GraphSet.cycles(is_hamilton=True)
返回周期.len()