自己编的四色问题代码
#include <stdio.h>#include <conio.h>
int r[100][100];/*该数组用于存储邻接关系*/
int n,x,y;
int s[100];/**/
int mapcolor(int i)
{int j,k;
s[1]=1;
i=2;j=1;
while(i<=n)
{while((j<=4)&&(i<=n))
{
k=1;
while((k<i)&&(s[k]*r[i][k]!=j))
k++;
if(k<i)
j++;
else
{s[i]=j;
i++;
j=1;
}
if(j>4)
{i--;
j=s[i]+1;
}
}
}
}
main()
{printf("请输入颜色块的个数:");
scanf("%d",&n);
printf("请输入邻接表:\n");
for(y=1;y<n+1;y++)
{
for(x=1;x<n+1;x++)
scanf("%d",&r[x][y]);
}
mapcolor(x);
for(x=1;x<n+1;x++)
printf("第%d个上色为:第%d种\n",x,s[x]);
getch();
}