gpt4 book ai didi

prolog - 如何编写程序来查找完全封闭的瓷砖?

转载 作者:行者123 更新时间:2023-12-01 05:33:42 24 4
gpt4 key购买 nike

我正在尝试编写一个 prolog 程序,该程序可以在二维数组中找到完全被 b 或 w 包围的图块。

例如,给定这样的数据集:

[
[b, w, +, +],
[w, +, w, b],
[+, w, b, +],
[+, +, +, b],
]

它将返回另一个包含以下内容的变量:
[
[-, -, -, -],
[-, w, -, -],
[-, -, -, b],
[-, -, -, -],
]

也就是说,它取代了所有的 +b完全包围与 b , 以及被 w 包围的那些,并用 - 替换其他所有内容.

任何人都可以就如何构建一个程序来做到这一点提出任何想法吗?

最佳答案

这可能会有所帮助:它采用您给出的表示,并返回一个列表,其元素的每个形式都是 [ColumnIndex, RowIndex, Value]。然后,您可以使用 member 查找特定行/列的元素。

encodearray( A, AA ) :- ( A, 0, 0, AA ).
encodearray( [], _, _, [] ).
encodearray( [[]|A], _, R, AA ) :- R1 is R+1, encodeArray( A, 0, R1, AA ).
encodearray( [[A|B]|X], C, R, [[C,R,A]|AA] ) :- C1 is C+1, encodeArray( [B|X], C1, R, AA ).

关于prolog - 如何编写程序来查找完全封闭的瓷砖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com