Prolog - 给出列表列表如何将独立变量分配给列表的某些成员

时间:2014-10-17 09:08:15

标签: list prolog

给出类似[[*,.,*],[.,.,.],[*,.,*]]的列表 我们如何为每个'。'分配逻辑变量。出现在拼图中?

我是否必须创建另一个列表,其中包含要分配给列表的逻辑变量?

我正在尝试解决一个字填充拼图,我将在其中列出一个单词列表,一个方形填字游戏类型网格并返回唯一的解决方案,一个示例填字游戏网格如下, ...

可以将其拆分成行, [[,...,],[。,。。],[,...,]]

我想用逻辑变量列出一个列表, [[,X,],[A,B,C],[,Z,]]

这样我就可以使用单词列表中的作品来填充拼图,如下所示,


| C | | MAN | | Ť |


输入填字游戏网格可以是任意大小,但始终是正方形。

1 个答案:

答案 0 :(得分:0)

如果列表具有这种特定形式,只需将其与在感兴趣的地方具有变量的列表统一,并在其他地方使用下划线即可:

demo(L) :-
    L = [[_,A,_],[B,C,D],[_,E,_]|_]
,   write(A), nl, write(B), nl, write(C), nl, write(D), nl, write(E), nl.

Demo.