天堂岛的克里奥尔语有14个字:“放弃”、“鲍鱼”、“字谜”、“船”、“船夫”、“孩子”、“连接”、“优雅”、“增强”、“岛屿”、“男人”、“沙子”、“太阳”和“女人”。
天堂时报发表了这个填字游戏:
填字游戏包含 14 个单词中的一些,但没有其他单词。
编写一个 Prolog 程序,从
word(X) :-
member(X,
[
[a,b,a,n,d,o,n], [a,b,a,l,o,n,e], [a,n,a,g,r,a,m],
[b,o,a,t], [b,o,a,t,m,a,n], [c,h,i,l,d],
[c,o,n,n,e,c,t], [e,l,e,g,a,n,t], [e,n,h,a,n,c,e],
[i,s,l,a,n,d], [m, a, n], [s,a,n,d],
[s,u,n], [w, o, m, a, n]
]).
solution(H1,H2,H3,V1,V2,V3) :-
solution
并以这样的方式定义谓词
solution(H1,H2,H3,V1,V2,V3)
当且仅当H1
, H2
, H3
, V1
, V2
, 和V3
是天堂岛的有效词,当写入上面给出的网格时形成有效的填字游戏。(例如,的第二个字母H1
应该与的第二个字母重合V1
。)
使用查询
?- solution(H1,H2,H3,V1,V2,V3).
解决填字游戏。找到填字游戏的所有解决方案。
提示:您可能希望从较小的填字游戏和较不丰富的词典开始。