⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 地图染色.c

📁 数据结构学习用到的一些程序!!里面有二叉树相关的几个
💻 C
字号:
#include<stdio.h>
main()
{
	int i,j,m=0,n=7;
	int color,area,k;
	int S[7];
	int R[100][100];
	printf("请输入区域关系矩阵\n");
	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
			scanf("%d",&R[i][j]);
    for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			printf("%4d",R[i][j]);
		}
		printf("\n");
	}
	S[0]=1;                              //第一个区域染第一种颜色
	area=1;                              //第二个区域试探染色
	color=1;                             //试探染第一种颜色
 	printf("S[0]=%4d\n",S[0]);
	printf("n=%4d\n",n);
    k=1;                                 //已染色区域数
	while (area<n)
	{
		while ((k<n)&&(m<k)&&(S[m]*R[area][m]!=color))
		{
			m++;
		}                             //判断此区域与原来的区域染色是否矛盾
		if(m<k)
		{
			color++;
			m=0;
		}                                //如果矛盾,换下一种颜色
		else                        //否则,记录
		{
			S[area]=color;
			area++;
			color=1;
            k++;
			m=0;
		}
		
		while(color>4)
		{
			area-=1;
			k--;
		    color=S[area]+1;
		}
	}
	printf("\n");
	for(i=0;i<7;i++)
		printf("S[%d]=%4d\n",i,S[i]);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -