你的奶奶最近對解二元謎題產生了濃厚的興趣。 雖然她越解越上手,但還是常常會卡住呢。 身為奶奶貼心的孫子,你決定做一個小應用程式,來解開任何二元謎題。 這樣一來,你就能給奶奶提示,幫她想出下一步。
你的任務是解開一道二進位謎題。 每一道二進位謎題都恰好只有 一個 解,只要套用以下規則就能找出來:
你會拿到一道尚未完成的謎題,它是以 0 和 1 組成的列來表示,未知的值則以佔位符(_)代替。
你的目標是定義這道二進位謎題的規則,讓測試能自行推算出佔位符的值(這部分不用你自己來做喔)。
你的實作必須使用 Prolog 的有限領域約束邏輯程式設計(CLP(FD)),它非常適合這類任務。
為了幫你踏出第一步,起始檔案已經透過以下方式引入 clpfd函式庫:
:- use_module(library(clpfd)).