四色定理java_java – 四色定理的递归算法
手头的问题是将地图分成区域,如邻接矩阵和
使用四种颜色,为地图着色,使得没有两个连续区域共享相同的颜色.我们会用的
邻接矩阵,用于编码哪个区域与哪个其他区域接壤.列和行
矩阵是区域,而如果两个区域不相邻,则单元格包含0,如果是,则单元格包含1
边界.创建一个递归回溯解决方案,该解决方案接受来自用户的交互式输入
地图中的区域数量和表示地图构成的邻接矩阵的文件名.
我遇到的问题是countryColor中的第一个值被更改,但数组中的许多值永远不会更改.
private static final int[] color = {1,2,3,4};
//this color array is meant to represent 4 colors like red, blue, green, orange etc.
private static int[][] map = {{0,1,1,0,1,1,0},{1,0,0,1,1,0,1},{1,0,0,1,1,1,0},{0,1,1,0,1,0,1},{1,1,1,1,0,0,0},{1,0,1,0,0,0,1},{0,1,0,1,0,1,0}};
//this is the adjacency matrix showing which countries are next to each other
private static int[] countryColor = new int[7];
//this is the array that holds the color values for each country
private static boolean colorMap(int country ){
System.out.println("Checking Country "+ country);
boolean check;
for(int j= 0;j< countryColor.length; j++){
if(useColor(country,color[j]) == true)
countryColor[country] = color[j];
if(country == countryColor.length-1)
return true;
check = colorMap(country+1);
System.out.println(check);
if(check == true)
return true;
countryColor[country]=0;
}
return false;
}
private static boolean useColor(int country, int color){
for(int i = 0; i < map.length;i++){
if(map[country][i] == 1&& countryColor[i]==color){
System.out.println("Nah country " + country +" cant be "+color );
return false;
}
}
return true;
}
四色定理java_java – 四色定理的递归算法相关推荐
- C语言递归实现四色定理,实现四色定理的C++程序
匿名用户 1级 2006-05-17 回答 给出一个图的m-着色的程序段,回溯法: /* 图的邻接矩阵Graph[n,n]表示无向连通图G, 1,2,3,..m代表不同的颜色 顶点i所着色用x[i]表 ...
- 离散数学期末考试必考知识点
1.蕴含符号化简:A→B=┐A∨B,出现在命题公式的化简,一般为填空选择. 2.命题符号化极大概率选择题考一题,例如: 这个选D,注意"没有一个"表否定,用┐∃表不存在 又例如: ...
- 《从一到无穷大》中的程序思维
这篇文章是最近几天看李永乐老师的<从一到无穷大>读书专栏而想到的一篇文章.在第一章 「做做数学游戏」 的简单数学,以及第二章 「空间.时间和爱因斯坦」 的拓扑学中(其实也是因为李老师目前只 ...
- 关于深度学习人工智能模型的探讨(二)(7)
2.7 它们的队伍浩如繁星 小李飞刀,寒光一闪, 飞箭出鞘, 一剑封喉, 鲜血飞泉,例无虚发. 遗憾.遗憾,绝世神器,却看不清如何出手. 同样,上节诡论和无理数的类比论述似乎过于专业,相信数论背景知识 ...
- P4395-[BOI2003]Gem气垫车【树形dp,四色定理】
正题 题目链接:https://www.luogu.org/problem/P4395 题目大意 一棵树,每个节点填一个正整数,要求相邻的节点数字不同,求所有节点的和最小. 解题思路 根据四色定理,我 ...
- 算法:根据四色定理(Four color theorem),求出地图的所有着色方案
地图着色,需要每一个区域都使用一种颜色来进行填充,然后为了与相邻接壤的区域分开,就要求两个接壤的区域需要使用不同的颜色.四色定理的意思是,最多只需要四种颜色,就可以为所有的地图进行全部区域着色,且任意 ...
- 四色定理(DFS深搜)
四色定理 定义 四色问题的内容是 "任何一张地图只用四种颜色就能使具有共同边界的国家着上不同的颜色"简单理解就是 每个平面地图都可以只用四种颜色来染色,而且没有两个邻接的区域颜色相 ...
- 四色定理已利用计算机证明,地图四色定理的非计算机证明.pdf
地图四色定理的非计算机证明 第 卷 第 期 重庆工 业 高等专科学校 学报 年 月 编者按 地 图四 色定理作为 界著名 的 难 , 曾经让许 多 学家为之努 力 , 的甚至付 出 了 生 的 世 数 ...
- 用java实现四色定理
/* * [四色定理] */ package test1; public class demo { public static void main(String[] args) { int n=7; ...
- 地图渲染——四色定理的实现(AO+C++)
上个星期实现了唯一值渲染后,一直打算实现四色渲染的效果.关于四色定理我也是最近才听说,感觉真的挺奇妙的,所以也吸引我去实现它. 正好在网上找到了一篇有关四色渲染的学习资料,大致思路和算法也参考了这篇文 ...
最新文章
- 这样的例子能说明if,else的效率比单单的if组合高
- Java实现字符全阵列阵列
- 后盾网lavarel视频项目---lavarel用户认证实例
- C语言经典例8-输出乘法口诀表
- 在VS中巧用文件系统来发布网站
- 重温强化学习之强化学习简介
- 大学python怎么过_大学生该不该学Python?太纠结了?
- C++ 面向对象(四)—— 多态 (Polymorphism)
- 网页无障碍php,【译】开发无障碍的Web组件
- cocoapods 安装失败 ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension.
- Command对象应用--增加问卷调查
- 在二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历可以找到从m到n的路径
- Ubuntu下Tomcat连接MySql数据库
- NYOJ-915 +-字符串(贪心)
- 安装最新LAMP环境(CentOS7+PHP7.1.5+Mysql5.7)
- 面对疫情,大学生如何保持良好的心理状态
- 【场景实现】Vue+element如何让帖子评论带上emoji,这个需求让我在富文本Quill开始了踩坑连连看
- 七战DTCC铸成ACE Director 去哪儿网周彦伟畅聊数据库的十八般武艺
- 分享一个特别好用的站长在线工具箱
- 将爬取的实习僧网站数据传入HDFS