Пример #1
0
        public static int execute(Grafo grafo)
        {
            int cont = 0;

            InicializarPontosArticulacao(grafo);
            grafo.LimparCorVertices();

            foreach (Vertice v in grafo.vertices)
            {
                if (v.cor == "BRANCO")
                {
                    Tarjan(v, v, 0, ref cont);

                    if (cont >= 2)
                    {
                        v.pontoArticulacao = true;
                    }
                    else
                    {
                        v.pontoArticulacao = false;
                    }
                }
            }

            return(CountPontoArticulacao(grafo));
        }