已知如下递归代码用于求解图的m着色问题:#define N&nb...
发布于 2022-03-03 14:11:07
已知如下递归代码用于求解图的m着色问题:
#define N 10
int a[N+1][N+1] //存储图
int x[N+1]//记录颜色
int sum=0//保存可着色方案数
void backtrace(int t,int m)
{
int i
if(t>N)//搜索至叶节点
{
sum++
printf("第%d种方案:\n",sum)
for(i=1i<=Ni++)
printf("%d ",x[i])
printf("\n")
}
else
{
for(i=1i<=mi++) //逐个判断每种颜色
{
if(check(t,i))
{ x[t]=i
backtrace(t+1,m)
}
}
}
}
其中check()函数用于检测某个节点颜色是否合法,以下check()函数正确的是:
#define N 10
int a[N+1][N+1] //存储图
int x[N+1]//记录颜色
int sum=0//保存可着色方案数
void backtrace(int t,int m)
{
int i
if(t>N)//搜索至叶节点
{
sum++
printf("第%d种方案:\n",sum)
for(i=1i<=Ni++)
printf("%d ",x[i])
printf("\n")
}
else
{
for(i=1i<=mi++) //逐个判断每种颜色
{
if(check(t,i))
{ x[t]=i
backtrace(t+1,m)
}
}
}
}
其中check()函数用于检测某个节点颜色是否合法,以下check()函数正确的是:
登录后免费查看答案
关注者
0
被浏览
16