`

地图着色——core.logic求解

阅读更多
记得很久很久之前写过一篇《七周七语言——地图着色》。用core.logic求解下。


依赖包:
[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}
分享到:
评论

相关推荐

    安卓Android源码——TankWar.zip

    《安卓Android源码——TankWar.zip》是一款基于Android平台的游戏源码,主要展示了如何在Android环境中开发一个坦克大战游戏。这个游戏源码可以帮助开发者深入理解Android应用的架构设计、图形渲染、用户交互以及...

    算法(c++)——地图着色问题.rar

    总结起来,地图着色问题是一个经典的图论问题,通过C++我们可以用邻接矩阵或邻接表来表示地图的结构,并结合回溯或贪心算法进行求解。这个问题的解决不仅有助于提升算法设计技巧,也有助于提高编程实践能力。在实际...

    core.logic_examples:Clojure 的 core.logic 的一些有趣例子

    5. **布尔逻辑推理**:例如,可以定义逻辑表达式,如A AND B => C,然后使用core.logic来求解A、B、C的可能取值。 在“core.logic_examples-master”压缩包中,可能包含了以上或更多类似的实际例子,每个文件都展示...

    IOS应用源码——ParticleDemo.zip

    《iOS应用源码解析——ParticleDemo深度探索》 在iOS应用开发中,源码学习是提升技术能力的重要途径。今天我们将深入探讨一个名为"ParticleDemo"的iOS应用源码,通过对这个项目的剖析,来理解iOS应用的核心机制以及...

    安卓Android源码——ShaderSample.rar

    ShaderSample项目主要包含两部分:顶点着色器(Vertex Shader)和片段着色器(Fragment Shader)。顶点着色器负责处理图形的顶点信息,如位置、颜色等;片段着色器则处理像素颜色,生成最终屏幕上显示的颜色。 1. *...

    地图四色着色——C#程序和可视化界面和实验报告

    实验报告中有地图四色着色算法和程序运行结果。打开软件文件夹后,点击“paint001.exe”可以直接运行可视化界面,实现地图着色模拟展示。里面有程序,也有四色着色核心算法,大家可以自行参考。

    地图着色数据结构.pdf

    《地图着色问题的数据结构实现》 地图着色问题是一个典型的图论问题,它涉及到如何在地图上给各个区域(省份)着色,使得相邻的区域颜色不同,同时尽可能使用最少的颜色。这个问题在数据结构和算法领域有重要的研究...

    地图着色问题.exe.recipe

    地图着色问题.exe.recipe

    地图着色问题 图论 四着色

    地图着色问题是一个经典的图论问题,它源于19世纪中期对地理地图的色彩划分,目的是确定最少需要几种颜色来给地图上的各个区域着色,使得任何两个相邻的区域颜色都不同。这个问题在数学上被转化为图的着色问题,其中...

    数据结构综合课设地图着色问题.docx

    【数据结构综合课设——地图着色问题】 地图着色问题是一个典型的图论问题,它在现实生活中有广泛的应用,例如资源分配、时间表规划等。在这个课设中,我们被要求设计一个软件来解决江西地图中11个地级市的着色问题...

    数据结构课程设计 (地图着色)

    在这个特定的课程设计中,我们关注的是“地图着色问题”,这是一个经典的图论问题,具有实际应用背景,例如在规划航空航线、电视广播频道分配等场景中。 地图着色问题的基本思想是给一张地图上的各个区域涂上颜色,...

    基于FPGA的图着色问题求解.docx

    基于FPGA的图着色问题求解主要关注如何高效地解决图着色这一经典的计算机科学问题,它在资源分配、寄存器分配、时间表安排等领域有着广泛应用。图着色问题属于NP-完全问题,意味着在最坏情况下,找到最优解的复杂度...

    算法与数据结构-C语言版

    《算法与数据结构-C语言版》是针对计算机科学领域中至关重要的两个概念——算法和数据结构的深入学习资料。陈守孔版的课程通常以其详尽的解释和实用的示例而闻名,对于初学者和有经验的程序员来说都是宝贵的学习资源...

    色素与着色剂2012.pptx

    色素与着色剂2012.pptx

    地图着色 实验报告 源码

    地图着色 地图着色 地图着色地图着色 1.以二维数组list[N+1][N+1]表示地图,N表示区域数目,数组中以元素值为0表示不邻接,1表示邻接,限定区域数目N<=50. 2.用户先输入区域数目N,再输入邻接区域的代码,邻接可...

    数据结构c++ 地图着色

    通过以上步骤,我们可以利用C++的数据结构和算法知识,实现地图着色问题的求解。这个过程不仅可以帮助我们深入理解数据结构和算法,还能提高解决实际问题的能力。对于学习者来说,这是一个很好的练习项目,能够将...

    基于最短路径的图像着色毕业论文.doc

    基于最短路径的图像着色毕业论文.doc

    Unity内置着色器 2018.1.0f2

    Unity的内置着色器库涵盖了多种用途,包括但不限于标准着色器(Standard Shader)、移动标准着色器(Mobile Standard Shader)、Unlit着色器(适用于不需光照处理的物体)以及用于UI元素的UI着色器等。这些着色器都...

    数据结构课程设计之地图着色问题求解

    数据结构课程设计之地图着色问题求解 地图着色问题是计算机科学和信息技术领域中的一个经典问题。它是指对一个给定的平面图形,使用四种颜色对其进行着色,使得相邻的区域颜色互异。这个问题的解决对图形处理、...

Global site tag (gtag.js) - Google Analytics