/*
* 【四色定理】
*/
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实现四色定理相关推荐

  1. java 地图四色着色算法_趣味地图系列之6 四色定理之我见

    四色定理(four color map theorem)是一个著名的数学定理[1],即对任意的(平面上的)地图染色,要求相邻的国家颜色不同,四种颜色即可完成着色. 南非数学家法兰西斯·古德里在1852 ...

  2. java 地图四色着色算法_四色定理的简单证明:从四色猜想到四域公理

    摘要 "四色猜想"也称"四色定理",一直以来都没有一种简捷明快的证明方法,然而,本文认为"四色猜想"可以作为一个平面区域相邻关系的" ...

  3. java中输入两个数组并显示_java-将输入存储在两个相关的数组中

    我正在做一个小任务,允许用户输入任何国家的地区并将它们存储在一个阵列中.另外,每次他进入一个区域时,系统都会要求他进入该输入区域的邻居并存储这些区域. 我的想法是,每次用户进入该区域时,系统都会将其存 ...

  4. 算法:根据四色定理(Four color theorem),求出地图的所有着色方案

    地图着色,需要每一个区域都使用一种颜色来进行填充,然后为了与相邻接壤的区域分开,就要求两个接壤的区域需要使用不同的颜色.四色定理的意思是,最多只需要四种颜色,就可以为所有的地图进行全部区域着色,且任意 ...

  5. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  6. Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

    Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...

  7. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  8. Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常

    kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...

  9. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

最新文章

  1. android 导入sqlite文件怎么打开,如何将sqlite文件导入到我的项目中?
  2. PySide2 基础入门-创建实例窗口(详细解释)
  3. 所属的用户_关于chmod(变更用户对此文件的相关权限)超详细说明,小白秒懂
  4. 南京二本有什么计算机学校,南京有什么好的二本学校?
  5. html 左侧 树形菜单,vue左侧菜单,树形图递归实现代码
  6. android oom工具,Android OOM-Heap,MAT工具检测内存泄露
  7. java knn文本分类算法_使用KNN算法的文本分类.PDF
  8. Unity界面插件NGUI基础教程
  9. Java读书笔记(8)-单例模式
  10. 专家显身支招 教你如何选购高品质DDR2内存(例)
  11. php 转换中文乱码,解决php中文乱码转换问题
  12. unity 给图片边缘_Unity 截图选择框,中间全透明,边缘半透明
  13. UltraLAB台式图形工作站(独门绝技~多核+超高频~极速计算工作站H490介绍)
  14. Codeforces Round #687 (Div. 2) C. Bouncing Ball(枚举 思维)
  15. 帆软(FineReport)---- 数据决策系统的基本配置
  16. WDM 驱动程序开发
  17. 【项目实战】Java从单体到微服务打造房产销售平台(一) - 整体概述
  18. 数据大屏领导驾驶舱大数据分析UI1-4(PSD-持续更新)
  19. Matlab求解定积分/不定积分/微分
  20. 乐视网暂停上市成定局:去年净资产为负30亿 债务难解

热门文章

  1. 29-高级路由:BGP清除
  2. js 对象的键名 可以是数字么
  3. 记录一次关于解除推特的冻结
  4. 计算机组成原理哈工大期末_计算机组成原理(哈工大)——课程知识点总结
  5. 微信小程序+微信管理后台+微信用户前台
  6. RLC定时器简单整理
  7. kali安装步骤失败 选择并安装软件_手机软件安装失败?吉米柚教你几招!
  8. 【python爬虫】爬取Bing词典的单词存到SQLite数据库
  9. Eclipse全局搜索 文件搜索 IDEA全局搜索 快捷键Ctrl+Shit+F冲突 Ctrl+Alt+0 全局查询
  10. python爬虫是数据挖掘吗_爬虫属于数据挖掘 python为什么叫爬虫