Caro Rafael,
Questao muito interessante. A ideia e' boa, mas esta' mal desenvolvida.
Por exemplo, voce nao deixa claro se na contracao deve-se manter arestas
multiplas ou nao. E nao deixa claro o que acontece se acabarem as arestas
antes na (n-2)-esima contracao.
Sobre as arestas multiplas, ao dizer que o algoritmo retorna "as arestas
que ligam estes dois vertices", voce implicitamente parece admitir que
possa haver arestas multiplas ao final. Isto e' mau estilo: deveria
esclarecer logo de cara, ao inves de esperar que o leitor "deduza" sua
intencao ao ler mais adiante. Em todo caso, se admitirmos que ficam
arestas multiplas, ao contrair uma delas podemos formar um loop. Sao
permitidos loops? Outra coisa que nao ficou clara. E o que resulta da
contracao de um loop? Neste caso, nao perdemos um vertice, invalidando
sua suposicao de que sobram exatamente dois vertices ao final.
Em suma, nao pensou direito em todas as consequencias do cenario que voce
mesmo montou. Descarto.
--
Joao Meidanis IC-UNICAMP
Institute of Computing Av. Albert Einstein, 1251
University of Campinas, Brazil 13083-852, Campinas, Sao Paulo
http://www.ic.unicamp.br/~meidanis Brazil