地图着色问题算法分析 第7页
 for(i=1;i<=s-1;i++)//分别于前面已经着色的几块比较
        if(G.arcs[i][s]==1&&color[i]==color[s])
        {flag=1;break;}
    return flag;
}
//*******************************************
void output(Graph G)//输出函数
{
 int i;
    for(i=1;i<=G.vnum;i++)
        printf("%d ",color[i]);
   printf("\n");
}
//*******************************************
void trycolor(int s,Graph G)//s为开始图色的顶点,本算法从1开始
{
    int i;
    if(s>G.vnum)//递归出口
    {
www.751com.cn            color[s]=i;
            if(colorsame(s,G)==0)
                trycolor(s+1,G);//进行下一块的着色
        }
    }
}
//*******************************************
int main()
{
Graph G;
CreateGraph(G);
PrintGraph(G);
printf("着色方案:\n");
trycolor(1,G);
return 0;
}
参考代码结果:上一页  [1] [2] [3] [4] [5] [6] [7] 
地图着色问题算法分析 第7页下载如图片无法显示或论文不完整,请联系qq752018766