地图着色问题C/C++已知中国地图,请设计地图着色软件,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色最少.【提示】(1) 数据结构的设计:地图可以采用图的数据结构,每个
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 06:39:05
![地图着色问题C/C++已知中国地图,请设计地图着色软件,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色最少.【提示】(1) 数据结构的设计:地图可以采用图的数据结构,每个](/uploads/image/z/5338750-22-0.jpg?t=%E5%9C%B0%E5%9B%BE%E7%9D%80%E8%89%B2%E9%97%AE%E9%A2%98C%2FC%2B%2B%E5%B7%B2%E7%9F%A5%E4%B8%AD%E5%9B%BD%E5%9C%B0%E5%9B%BE%2C%E8%AF%B7%E8%AE%BE%E8%AE%A1%E5%9C%B0%E5%9B%BE%E7%9D%80%E8%89%B2%E8%BD%AF%E4%BB%B6%2C%E5%AF%B9%E5%90%84%E7%9C%81%E8%BF%9B%E8%A1%8C%E7%9D%80%E8%89%B2%2C%E8%A6%81%E6%B1%82%E7%9B%B8%E9%82%BB%E7%9C%81%E6%89%80%E4%BD%BF%E7%94%A8%E7%9A%84%E9%A2%9C%E8%89%B2%E4%B8%8D%E5%90%8C%2C%E5%B9%B6%E4%BF%9D%E8%AF%81%E4%BD%BF%E7%94%A8%E7%9A%84%E9%A2%9C%E8%89%B2%E6%9C%80%E5%B0%91.%E3%80%90%E6%8F%90%E7%A4%BA%E3%80%91%EF%BC%881%EF%BC%89+%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%9A%84%E8%AE%BE%E8%AE%A1%EF%BC%9A%E5%9C%B0%E5%9B%BE%E5%8F%AF%E4%BB%A5%E9%87%87%E7%94%A8%E5%9B%BE%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%2C%E6%AF%8F%E4%B8%AA)
地图着色问题C/C++已知中国地图,请设计地图着色软件,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色最少.【提示】(1) 数据结构的设计:地图可以采用图的数据结构,每个
地图着色问题C/C++
已知中国地图,请设计地图着色软件,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色最少.
【提示】
(1) 数据结构的设计:地图可以采用图的数据结构,每个省为一个节点,边表示对应的两个省相邻.
(2) 算法设计:设计着色算法,保证邻接点不是同一种颜色.
(3) 地图数据的输入采取从文件中读取.
(4) 结果输出方式可以采用图形方式或文本方式.
我说的是程序-= 思路我也有 遍历序列 递归-=
地图着色问题C/C++已知中国地图,请设计地图着色软件,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色最少.【提示】(1) 数据结构的设计:地图可以采用图的数据结构,每个
从一个省开始,给它涂上任意一种颜色1,遍历它旁边的省份,涂上与已经涂色并于他相邻的省份不同的颜色就行了.
理论上4种颜色就够了.地图的四色问题嘛!
可能会有多组解.用递归(dfs)就可以输出所有解了.
地图着色算法C语言源代码
前面我写了一个地图着色(即四色原理)的C源代码.
写完以后想了一下,感觉还不完善,因为从实际操作的角度来考虑,四种可用的颜色放在旁边,不同的人可能会有不同的选择顺序,另外,不同的人可能会选择不同的城市作为着色的起点,而当时的程序没有考虑这个问题.于是,把程序修改为下面的样子,还请同行分析并指出代码中的不足之处:
#i nclude
#define N 21
int allcolor[4];/*可用的颜色*/
int ok(int metro[N][N],int r_color[N],int current)
{/*ok函数和下面的go函数和原来的一样,保留用来比较两种算法*/
int j;
for(j=1;j