Advertisement
marcoaav

Untitled

Jun 4th, 2018
412
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 1.64 KB | None | 0 0
  1. (define (encontra-caminho origem destino grafo visitados)
  2.  (cond
  3.    [(string=? origem destino)(cons destino empty)]
  4.    [else
  5.     (local
  6.       ((define visitadas-novo (cons origem visitados))
  7.        (define caminho
  8.          (cond
  9.             [(empty? (vizinhos2 origem grafo visitadas-novo))false]
  10.             [(está-na-lista? destino (vizinhos origem grafo))(encontra-caminho destino destino grafo visitadas-novo)]
  11.             [(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)))]))
  12.        )
  13.      (cond
  14.         [(list? caminho)caminho]
  15.         [(boolean? caminho)false]
  16.        
  17.  ))]))
  18.  
  19. (define (encontra-caminho-vizinhos listaOrigens destino grafo visitados)
  20.  (cond
  21.    [(empty? listaOrigens)false]
  22.    [else
  23.     (local
  24.       ((define visitadas-novo (cons (first listaOrigens) visitados))
  25.        (define caminho
  26.          (cond
  27.             [(empty? (vizinhos2 (first listaOrigens) grafo visitadas-novo))false]
  28.             [(está-na-lista? destino (vizinhos (first listaOrigens) grafo))(encontra-caminho destino destino grafo visitadas-novo)]
  29.             [(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))]
  30.             [else false]))
  31.        )
  32.      (cond
  33.         [(list? caminho)caminho]
  34.         [else (encontra-caminho-vizinhos (rest listaOrigens) destino grafo visitados)]
  35.  ))]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement