A ideia deste trabalho é usar a DFS para gerar uma nova matriz, um mapa, que contém as classificações das arestas - que foi exercício do Laboratório. Mas as classificações delas podem ser armazenadas de outras maneiras - eu utilizei matriz/grafo. Assim, depois de ter essa função pronta, que classifica as arestas, passamos para a segunda etapa, a navegação por esse "mapa". Perceba que a maneira mais fácil é primeiro fazer a DFS... executar ela.. e depois executar uma função que vai navegar pelas arestas já classificadas. Eu implementei assim: prinf("0 %d", inicial); atual = next (inicial, ...); while (atual != praia1 && atual != praia2){ atual = next (atual,...); printf(" %d",atual); } printf(" %d\n",atual); \\imprime a praia onde pararam next(...){ if t == 2: se há cruzamento e a ultima decisão nao foi essa -> cruzamento return next_v senao, se há retorno e a ultima nao foi retorno -> retorno return next_v if t == 3: se há cruzamento e a ultima decisão nao foi essa -> cruzamento return next_v senao, se há avanço e a ultima nao foi avanço -> avanço return next_v se for tempo 2 ou 3, mas nenhuma decisão foi possível OU se o tempo é 1 ou 4 ou 5: continuar pela aresta da árvore (sentido praia) if (t ==5) t=1; return next_v }