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

📄 mapcolour.cpp

📁 文件夹中包括常用的数据结构的算法
💻 CPP
字号:
#include <stdio.h>




void  mapcolor(int R[7][7], int n, int *s)
{  s[1]=1;        // 1号区域染1色
   int    a=2,  J=1;    // a为区域号,J为染色号
    while ( a<=n)
    { 
		while(( J<=4)&&(a<=n))  
        { 
		  int k=1;     // k表示已经着色的区域号
           while(( k<a) && ( s[k] * R[a-1][k-1] != J))       k=k+1;  // 若不相邻,或若相邻且不重色,对下一个区域判断                
           if (k<a)   J=J+1; //相邻且重色
           else{ s[a]=J;  a=a+1;  J=1; }//相邻且不重色
        };
       if ( J > 4 ) { a=a-1; J=s[a]+1 ; };
    }
 }

void main()
{
	int s[8]={0};
    int n =7;
	
    int matrix[7][7] = {0,   1,    1,    1,     1,   1,     0,
                        1,   0,    0,    0,     0,   1,     0,
			            1,   0,    0,    1,     1,   0,     0,
				        1,   0,    1,    0,     1,   1,     0,
				        1,   0,    1,    1,     0,   1,     0,
				        1,   1,    0,    1,     1,   0,     0,
				        0,   0,    0,    0,     0,   0,     0};
	
    mapcolor(matrix,  n,  s);
    for(int a =1; a <= n; a++)
	{
		printf("%d, ", s[a]);
	};
    printf("\n ");

}

⌨️ 快捷键说明

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