p3 ejercicio 1.b

Re: p3 ejercicio 1.b

de Facundo Benavides -
Número de respuestas: 0
hola,
digamos que el alg que necesito se divide entre hacer dfs (explorar el grafo en profundidad mientras no encuentro un ciclo), encontrar un ciclo y no hacer nada (no procesar ese nodo, simplemente pasar al siguiente adyacente).
en este sentido el if nos estaría resolviendo lo primero, el elseif lo segundo y al omitir un else estamos resolviendo lo tercero.
luego, al ingresar al else if, sabemos 2 cosas: que no se cumple la condición del if anterior (!explorado[v]) y que cumple la condición presente. entonces debemos pensar que condición extra imponer al nodo 'v' que ya fue explorado para que sea el nodo que cierra un ciclo.
como lo tenías (con un else) estabas considerando los casos de cierre de ciclo pero también otros que no correspondían (los padres fueron explorados pero NO cierran ciclos). el if que debemos agregar al else tiene por objetivo evitar esos casos que no queremos incluir y no debieran ser procesados (como menciono en este msj al comienzo).
espero haber aclarado un poco.
saludos