Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- # q1.rb
- #
- # Tested using Ruby >= 1.9.2
- # usage: ruby q1.rb input1.txt
- #
- $LOAD_PATH.unshift(File.dirname(__FILE__))
- require "train_yard"
- def print_result(question,result)
- puts "##{question}: #{result ||= 'NO SUCH ROUTE'}"
- end
- puts ""
- puts "******************** BEGIN *************************"
- raw_graph = ARGF.readline # AB5, BC4, CD8, DC8, DE6, AD5, CE2, EB3, AE7
- ty = TrainYard.new(:raw_graph => raw_graph, :debug => true)
- # Run the 10 questions:
- puts "Running Mandatory Questions..."
- print_result(1,ty.total_distance("ABC"))
- print_result(2,ty.total_distance("AD"))
- print_result(3,ty.total_distance("ADC"))
- print_result(4,ty.total_distance("AEBCD"))
- print_result(5,ty.total_distance("AED"))
- print_result(6,ty.count_trips("C", "C", {:max_stops => 3}))
- print_result(7,ty.count_trips("A", "C", {:min_stops => 4, :max_stops => 4}))
- print_result(8,ty.shortest_path("A","C"))
- print_result(9,ty.shortest_path("B","B"))
- print_result(10,ty.count_trips("C", "C", {:max_distance => 29}))
- puts "****************************************************"
- # puts "Extra Testing Questions..."
- # print_result("Extra1",ty.total_distance("AEBCEBCDE"))
- # print_result("Extra2",ty.total_distance("ACDDCAABCADECDEDCCBCEBCDE"))
- # print_result("Extra3",ty.total_distance("AAAAA"))
- # print_result("Extra4",ty.total_distance(""))
- # print_result("Extra5",ty.count_trips("A", "C", {:max_stops => 0}))
- # print_result("Extra6",ty.count_trips("B", "C", {:max_stops => 10, :max_distance =>50}))
- # print_result("Extra7",ty.shortest_path("B","C"))
- # puts ""
Add Comment
Please, Sign In to add comment