記得很久很久之前寫過一篇
《七周七語言——地圖著色》
。用core.logic求解下。
依賴包:
輸出結果:{:tennessee :blue, :mississippi :red, :alabama :green, :georgia :red, :florida :blue}
依賴包:
[org.clojure/core.logic "0.8.10"]
(use 'clojure.core.logic)
(nth (run 1 [q]
(fresh [tn ms al ga fl]
(everyg #(membero % [:red :blue :green]) [tn ms al ga fl])
(!= ms tn) (!= ms al) (!= al tn)
(!= al ga) (!= al fl) (!= ga fl) (!= ga tn)
(== q {:tennessee tn
:mississippi ms
:alabama al
:georgia ga
:florida fl})
)) 0)
輸出結果:{:tennessee :blue, :mississippi :red, :alabama :green, :georgia :red, :florida :blue}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

