(-- Dave Christianson The Traveling Tourist Problem 1/24/96 Test data. Note that DFS is not guaranteed to terminate. --) include "travelling-tourist.cecil"; method solve_problem():void { let period:int := 1440; let buses:i_vector[bus] := [ new_bus(1,0,1349,1539), new_bus(0,1,491,1322), new_bus(2,0,385,2843), new_bus(0,2,327,3482), new_bus(2,1,413,1598), new_bus(1,2,3,1426), new_bus(3,0,857,2190), new_bus(0,3,287,2573), new_bus(3,1,309,3824), new_bus(1,3,411,2165), new_bus(3,2,1233,1870), new_bus(2,3,823,890), new_bus(4,0,301,942), new_bus(0,4,1363,963), new_bus(4,1,585,1502), new_bus(1,4,399,1210), new_bus(4,2,357,2905), new_bus(2,4,1003,3932), new_bus(4,3,641,3861), new_bus(3,4,743,4498) ]; let cities:i_vector[city] := [ new_city("Saint Louis"), new_city("San Antonio"), new_city("San Diego"), new_city("Seattle"), new_city("Tallahassee") ]; let start:int := 4; let time:int := 60; "Initializing schedule...\n".print; let s := new_schedule(period); " adding cities...\n".print; cities.do(&(l:list) { s.add_city(l); }); " adding buses...\n".print; buses.do(&(l:list) { s.add_bus(l); }); "Initializing trip...\n".print; let t := s.new_trip(start,time); "Solving...\n".print; let bfs_solution := s.solve(t,bfs()); " Breadth first: ".print; bfs_solution.print; " Cost: ".print; bfs_solution.time.print_line; let dfs_solution := s.solve(t,dfs()); " Depth first: ".print; dfs_solution.print; " Cost: ".print; dfs_solution.time.print_line; } solve_problem();