blob: ce82f08da0d684d067e817fcae84ec5d50fb57cc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#lang racket
(define/contract (dest-city paths)
(-> (listof (listof string?)) string?)
(define city-pairs (make-hash paths))
(define (go-to-next-city origin)
(let ([destination (hash-ref city-pairs origin #false)])
(if destination
(go-to-next-city (car destination))
origin)))
(go-to-next-city (caar paths)))
(dest-city '(("London" "New York")
("New York" "Lima")
("Lima" "Sao Paolo")))
|