Example #1
0
        /// <summary>
        /// number で指定された色数で Graph を彩色します。
        /// </summary>
        /// <param name="index">頂点番号</param>
        /// <param name="number">色数</param>
        /// <param name="G">グラフ</param>
        private bool Coloring(int index, int number, IGraph G)
        {
            for (int i = 0; i < number; i++)
            {
                G.GetVertexIndexOf(index).SetColor(i);
                if (index != G.GetVertexNum() - 1)
                    if (Coloring(index + 1, number, G))
                        return true;
                    else if (G.CheckColoring())
                        return true;
            }

            return false;
        }