mcolor.h

来自「图论:图的M着色问题 GraphM.h GraphOpr.h mColor」· C头文件 代码 · 共 47 行

H
47
字号
#ifndef MCOLOR_H
#define MCOLOR_H

#include "GraphM.h"

#define WHITE 0

static int a = 0;

void mColor(Graph* G, int& v, int& m, int* C)
{
  for (int i = 1; i <= m; i++)
  {
    bool flag = true;

	C[v] = i;
    for (int w = G->first(v); w < G->n(); w = G->next(v,w))
    {
	  if (C[v] == C[w])
	  {
		flag = false;
	    break;
	  }
	}
    if (flag == true)
    {
	  if (v == (G->n() - 1))
	  {
	    a++;
		for (int j = 0; j < G->n(); j++)
		{
		  cout.width(5);
		  cout << C[j];
		}
	    cout << endl;
	  }
	  else
	  {
		w = v + 1;
		mColor(G, w, m, C);
	  }
	}
    C[v] = 0;
  }
}

#endif

⌨️ 快捷键说明

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