用java实现四色定理
/*
* 【四色定理】
*/
package test1;
public class demo {
public static void main(String[] args)
{
int n=7; //7个国家
int r[][]={{0,1,0,0,0,1,1},{1,0,1,1,1,1,0},{0,1,0,1,0,0,0},
{0,1,1,0,1,0,0},{0,1,0,1,0,1,0},{1,1,0,0,1,0,1},{1,0,0,0,0,1,0}}; //将国家放进二维数组中。相邻的国家标1,不相邻标0
int c[]=new int[n]; //用来存储每个国家涂的颜色
c[0]=1; //第一个国家着第一种颜色
int i=1; //从第二个国家开始试探颜色
int j=1; //从第一种颜色开始给后面的国家试探着色
int k=0; //k表示一个中间变量,赋初值0
while(i<n)
while(j<=4)
{
while(k<i && c[k]*r[i][k]!=j) //判断颜色是否被用过
k=k+1;
if(k<i) //当颜色被用过,j+1
j=j+1;
else
{
c[i]=j;
i=i+1;
if(i>6) //全部满足条件,退出循环
break;
j=1;
}
if(j>4) //当4种颜色都不满足时,回溯
{
i=i-1;
j=c[i]+1;
}
}
System.out.println("着色方案如下:");
for(i=0;i<n;i++)
System.out.print(c[i]);
}
}
用java实现四色定理相关推荐
- java 地图四色着色算法_趣味地图系列之6 四色定理之我见
四色定理(four color map theorem)是一个著名的数学定理[1],即对任意的(平面上的)地图染色,要求相邻的国家颜色不同,四种颜色即可完成着色. 南非数学家法兰西斯·古德里在1852 ...
- java 地图四色着色算法_四色定理的简单证明:从四色猜想到四域公理
摘要 "四色猜想"也称"四色定理",一直以来都没有一种简捷明快的证明方法,然而,本文认为"四色猜想"可以作为一个平面区域相邻关系的" ...
- java中输入两个数组并显示_java-将输入存储在两个相关的数组中
我正在做一个小任务,允许用户输入任何国家的地区并将它们存储在一个阵列中.另外,每次他进入一个区域时,系统都会要求他进入该输入区域的邻居并存储这些区域. 我的想法是,每次用户进入该区域时,系统都会将其存 ...
- 算法:根据四色定理(Four color theorem),求出地图的所有着色方案
地图着色,需要每一个区域都使用一种颜色来进行填充,然后为了与相邻接壤的区域分开,就要求两个接壤的区域需要使用不同的颜色.四色定理的意思是,最多只需要四种颜色,就可以为所有的地图进行全部区域着色,且任意 ...
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常
kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...
- SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...
最新文章
- android 导入sqlite文件怎么打开,如何将sqlite文件导入到我的项目中?
- PySide2 基础入门-创建实例窗口(详细解释)
- 所属的用户_关于chmod(变更用户对此文件的相关权限)超详细说明,小白秒懂
- 南京二本有什么计算机学校,南京有什么好的二本学校?
- html 左侧 树形菜单,vue左侧菜单,树形图递归实现代码
- android oom工具,Android OOM-Heap,MAT工具检测内存泄露
- java knn文本分类算法_使用KNN算法的文本分类.PDF
- Unity界面插件NGUI基础教程
- Java读书笔记(8)-单例模式
- 专家显身支招 教你如何选购高品质DDR2内存(例)
- php 转换中文乱码,解决php中文乱码转换问题
- unity 给图片边缘_Unity 截图选择框,中间全透明,边缘半透明
- UltraLAB台式图形工作站(独门绝技~多核+超高频~极速计算工作站H490介绍)
- Codeforces Round #687 (Div. 2) C. Bouncing Ball(枚举 思维)
- 帆软(FineReport)---- 数据决策系统的基本配置
- WDM 驱动程序开发
- 【项目实战】Java从单体到微服务打造房产销售平台(一) - 整体概述
- 数据大屏领导驾驶舱大数据分析UI1-4(PSD-持续更新)
- Matlab求解定积分/不定积分/微分
- 乐视网暂停上市成定局:去年净资产为负30亿 债务难解
热门文章
- 29-高级路由:BGP清除
- js 对象的键名 可以是数字么
- 记录一次关于解除推特的冻结
- 计算机组成原理哈工大期末_计算机组成原理(哈工大)——课程知识点总结
- 微信小程序+微信管理后台+微信用户前台
- RLC定时器简单整理
- kali安装步骤失败 选择并安装软件_手机软件安装失败?吉米柚教你几招!
- 【python爬虫】爬取Bing词典的单词存到SQLite数据库
- Eclipse全局搜索 文件搜索 IDEA全局搜索 快捷键Ctrl+Shit+F冲突 Ctrl+Alt+0 全局查询
- python爬虫是数据挖掘吗_爬虫属于数据挖掘 python为什么叫爬虫