图形数独序言
Graph Sudoku Prolog
我有一个关于 CLP 和 CT 的作业。我看了很多块数独的例子。我学会了如何定义行、列和框的列表。但是,据我了解,我的问题不同于经典的块数独示例。
我们有一个图 G=(V,E) 没有相邻顶点具有相同的编号。
gsudoku(边,N),标签(V)。
输出:
?- gsudoku([e(X,Y),e(Y,Z),e(Z,X)],2),label([X,Y,Z]).
false
?- gsudoku([e(X,Y),e(Y,Z),e(Z,X)],3),label([X,Y,Z]).
X=1 Y=2 Z=3 and (other permutations)
因为我有 3 分,所以我应该将其视为 3x3 数独示例吗?
有人能帮我解决一下吗?提前致谢!
对于未来的读者这里是代码:
:- use_module(library(clpfd)).
gsudoku([],_).
gsudoku([e(F,T)|XS],N):- F in 1.. N,
T in 1.. N ,
F #\= T ,
gsudoku(XS,N).
我有一个关于 CLP 和 CT 的作业。我看了很多块数独的例子。我学会了如何定义行、列和框的列表。但是,据我了解,我的问题不同于经典的块数独示例。
我们有一个图 G=(V,E) 没有相邻顶点具有相同的编号。
gsudoku(边,N),标签(V)。
输出:
?- gsudoku([e(X,Y),e(Y,Z),e(Z,X)],2),label([X,Y,Z]).
false
?- gsudoku([e(X,Y),e(Y,Z),e(Z,X)],3),label([X,Y,Z]).
X=1 Y=2 Z=3 and (other permutations)
因为我有 3 分,所以我应该将其视为 3x3 数独示例吗?
有人能帮我解决一下吗?提前致谢!
对于未来的读者这里是代码:
:- use_module(library(clpfd)).
gsudoku([],_).
gsudoku([e(F,T)|XS],N):- F in 1.. N,
T in 1.. N ,
F #\= T ,
gsudoku(XS,N).