rendered paste bodycheapFlight(newyork, [ohio, indiana, newjersey]).
cheapFlight(newjersey, [ohio, newyork]).
cheapFlight(ohio, [newyork, indiana, newjersey]).
cheapFlight(indiana, [ohio, illinois, newyork, texas]).
cheapFlight(texas, [utah, illinois, indiana]).
cheapFlight(illinois, [indiana, texas]).
cheapFlight(utah, [washington, california, texas]).
cheapFlight(washington, [utah, california]).
cheapFlight(california, [washington, utah]).
connected(A, A, Acc, Acc).
connected(A, B, Acc, Path) :-
cheapFlight(A, DirectRoutes),
member(B, DirectRoutes),
append(Acc, [B], Path).
connected(A, B, Acc, Path) :-
cheapFlight(A, [Via|DirectRoutes]),
append(Acc, [Via], AccNew),
connected(Via, B, AccNew, Path).
connectedPath(A, B, Path) :-
append([], [A], AccP),
connected(A, B, AccP, Path).