依次输入:顶点数,颜色数,边数
4 2 4
依次输入每条边两端点:
1 2
1 3
2 4
3 4
输出图:
0 1 1 0
1 0 0 1
1 0 0 1
0 1 1 0
输出1~n各个点颜色色号:
1 2 2 1
2 1 1 2
输出可能的着色种数
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
int main()
{
int map[20][20]={0};
int ans,temp;
int i,j,j1;
int color[100]={0};
int n,m,k;//顶点,颜色数,边数
scanf("%d%d%d",&n,&m,&k);
int x,y;
for(i=0;i<k;i++)
{
scanf("%d%d",&x,&y);
map[x][y]=1;
}
for(j=1;j<=n;j++)
{
for(j1=1;j1<=n;j1++)
{
printf("%d ",map[j][j1]);
map[j1][j]=map[j][j1];
}
printf("\n");
}
//**********************************************
void GrapeColor(int p)
{
int i,j;
if(p == n+1)//此时说明已到达最后一个顶点,递归结束
{
ans++;
return;
}
el
C语言实现m着色问题

该博客介绍了如何使用C语言解决图的m着色问题。通过输入顶点数、颜色数和边数来构建图,并展示了一种可能的着色方案及着色总数。
最低0.47元/天 解锁文章
2341

被折叠的 条评论
为什么被折叠?



