Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (encontra-caminho origem destino grafo visitados)
- (cond
- [(string=? origem destino)(cons destino empty)]
- [else
- (local
- ((define visitadas-novo (cons origem visitados))
- (define caminho
- (cond
- [(empty? (vizinhos2 origem grafo visitadas-novo))false]
- [(está-na-lista? destino (vizinhos origem grafo))(encontra-caminho destino destino grafo visitadas-novo)]
- [(list?(encontra-caminho-vizinhos (vizinhos origem grafo) destino grafo visitadas-novo))(cons origem (cons (first (vizinhos origem grafo))(encontra-caminho-vizinhos (vizinhos origem grafo) destino grafo visitadas-novo)))]))
- )
- (cond
- [(list? caminho)caminho]
- [(boolean? caminho)false]
- ))]))
- (define (encontra-caminho-vizinhos listaOrigens destino grafo visitados)
- (cond
- [(empty? listaOrigens)false]
- [else
- (local
- ((define visitadas-novo (cons (first listaOrigens) visitados))
- (define caminho
- (cond
- [(empty? (vizinhos2 (first listaOrigens) grafo visitadas-novo))false]
- [(está-na-lista? destino (vizinhos (first listaOrigens) grafo))(encontra-caminho destino destino grafo visitadas-novo)]
- [(list?(encontra-caminho-vizinhos (vizinhos (first listaOrigens) grafo) destino grafo visitadas-novo))(cons(first(vizinhos (first listaOrigens) grafo)) (encontra-caminho-vizinhos (vizinhos (first listaOrigens) grafo) destino grafo visitadas-novo))]
- [else false]))
- )
- (cond
- [(list? caminho)caminho]
- [else (encontra-caminho-vizinhos (rest listaOrigens) destino grafo visitados)]
- ))]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement