Please let me know the problem in the code that I implemented. Problem Statement: There are n nodes and m colors to be filled in a Graph g. Assign colors to the nodes such that no two adjacent nodes have same colors and try to evenly distribute the colors among the nodes.
Approach: I am using dfs along with greedy algorithm(to evenly distribute)
Variables: $G
is graph of the form: {v1: [v2, v3, v4], v2: [v4, v8], ...};
vertex
is the starting vertex of the graph; visited_arr
or adj_visited_arr
is hash of the form: {v1: "1", v2: "2", ...} where "1", "2", ..., "6" are colors; frequency
is hash which keeps the count of the number of times the color has been used in the graph so far. eg.: {"1": 5, "2": 6, "3": 8, ...}
Code:
def dfs(vertex, original_visited_arr, frequency)
#original_visited_arr is passed as reference
visited_arr = original_visited_arr.clone
#sorting colors frequency for evenly distribution
frequency = frequency.sort_by {|k, v| v}.to_h
used_colors = []
$G[vertex].each do |adj_vertex|
used_colors << visited_arr[adj_vertex]
end
#checking the colors which can be used (total colors-colors used by adjacent nodes)
available_colors = frequency.keys-used_colors
#if there is no color available to be filled in the node, backtrack!
if available_colors.length==0
return nil
end
#iterate through the available colors to check which one solves the problem
available_colors.each do |color|
visited_arr[vertex] = color
frequency[color]+=1
res = true
#use recursion over each node that is adjacent to the current node
$G[vertex].each do |adj_vertex|
if visited_arr[adj_vertex]=="0"
adj_vertex_visited_arr = dfs(adj_vertex, visited_arr, frequency)
if !adj_vertex_visited_arr
res=false
break
end
visited_arr=adj_vertex_visited_arr
end
end
if res
return visited_arr
end
frequency[color]-=1
visited_arr[vertex] = "0"
end
return nil
end
visited_arr = {}
frequency = {"1" => 0, "2" => 0, "3" => 0, "4" => 0, "5" => 0, "6" => 0}
visited_arr = dfs(vertex, visited_arr, frequency)
Values:
vertex="TRIP-10065"
vertices=["TRIP-10065", "TRIP-10066", "TRIP-10067", "TRIP-10068", "TRIP-10069", "TRIP-10070", "TRIP-10071", "TRIP-10072", "TRIP-10073", "TRIP-10074", "TRIP-10075", "TRIP-10076", "TRIP-10077", "TRIP-10078", "TRIP-10079", "TRIP-10080", "TRIP-10081", "TRIP-10082", "TRIP-10083", "TRIP-10084", "TRIP-10085", "TRIP-10086", "TRIP-10087", "TRIP-10088", "TRIP-10089", "TRIP-10090", "TRIP-10091", "TRIP-10092", "TRIP-10093", "TRIP-10094", "TRIP-10095", "TRIP-10096", "TRIP-10097", "TRIP-10098", "TRIP-10099", "TRIP-10100", "TRIP-10101", "TRIP-10102", "TRIP-10103", "TRIP-10104", "TRIP-10105", "TRIP-10106", "TRIP-10107", "TRIP-10108", "TRIP-10109", "TRIP-10110", "TRIP-10111", "TRIP-10112", "TRIP-10113", "TRIP-10114", "TRIP-10115", "TRIP-10116", "TRIP-10117", "TRIP-10118", "TRIP-10119", "TRIP-10120", "TRIP-10121", "TRIP-10122", "TRIP-10123", "TRIP-10124", "TRIP-10125", "TRIP-10126", "TRIP-10127", "TRIP-10128", "TRIP-10129", "TRIP-10130", "TRIP-10131", "TRIP-10132", "TRIP-10133", "TRIP-10134", "TRIP-10135", "TRIP-10136", "TRIP-10137", "TRIP-10138", "TRIP-10139", "TRIP-10140", "TRIP-10141", "TRIP-10142", "TRIP-10143", "TRIP-10144", "TRIP-10145", "TRIP-10146", "TRIP-10147", "TRIP-10148", "TRIP-10149", "TRIP-10150", "TRIP-10151", "TRIP-10152", "TRIP-10153", "TRIP-10154", "TRIP-10155", "TRIP-10156", "TRIP-10157", "TRIP-10158", "TRIP-10159", "TRIP-10160", "TRIP-10161", "TRIP-10162", "TRIP-10163", "TRIP-10164", "TRIP-10165", "TRIP-10166", "TRIP-10167", "TRIP-10168", "TRIP-10169", "TRIP-10170", "TRIP-10171", "TRIP-10172", "TRIP-10173", "TRIP-10174", "TRIP-10175", "TRIP-10176", "TRIP-10177", "TRIP-10178", "TRIP-10179", "TRIP-10180", "TRIP-10181", "TRIP-10182", "TRIP-10183", "TRIP-10184", "TRIP-10185", "TRIP-10186", "TRIP-10187"]
$G={"TRIP-10122"=>["TRIP-10157", "TRIP-10158", "TRIP-10168", "TRIP-10159", "TRIP-10169", "TRIP-10178", "TRIP-10179"], "TRIP-10091"=>["TRIP-10111", "TRIP-10148", "TRIP-10141", "TRIP-10139", "TRIP-10147", "TRIP-10088", "TRIP-10089"], "TRIP-10119"=>["TRIP-10168", "TRIP-10167", "TRIP-10155", "TRIP-10178", "TRIP-10157", "TRIP-10176", "TRIP-10179"], "TRIP-10118"=>["TRIP-10167", "TRIP-10168", "TRIP-10155", "TRIP-10176", "TRIP-10157", "TRIP-10178", "TRIP-10177"], "TRIP-10125"=>["TRIP-10169", "TRIP-10170", "TRIP-10171", "TRIP-10158", "TRIP-10180", "TRIP-10181", "TRIP-10156"], "TRIP-10097"=>["TRIP-10112", "TRIP-10148", "TRIP-10142", "TRIP-10150", "TRIP-10089", "TRIP-10149", "TRIP-10140"], "TRIP-10136"=>["TRIP-10153", "TRIP-10184", "TRIP-10165", "TRIP-10183", "TRIP-10175", "TRIP-10185", "TRIP-10173"], "TRIP-10130"=>["TRIP-10164", "TRIP-10171", "TRIP-10183", "TRIP-10172", "TRIP-10163", "TRIP-10184", "TRIP-10186"], "TRIP-10068"=>["TRIP-10070", "TRIP-10067", "TRIP-10069", "TRIP-10086", "TRIP-10083", "TRIP-10074", "TRIP-10087"], "TRIP-10094"=>["TRIP-10112", "TRIP-10141", "TRIP-10149", "TRIP-10140", "TRIP-10114", "TRIP-10142", "TRIP-10151"], "TRIP-10067"=>["TRIP-10086", "TRIP-10069", "TRIP-10068", "TRIP-10070", "TRIP-10071", "TRIP-10072", "TRIP-10073"], "TRIP-10103"=>["TRIP-10116", "TRIP-10144", "TRIP-10151", "TRIP-10152", "TRIP-10177", "TRIP-10176", "TRIP-10114"], "TRIP-10088"=>["TRIP-10082", "TRIP-10139", "TRIP-10084", "TRIP-10086", "TRIP-10091", "TRIP-10111", "TRIP-10087"], "TRIP-10144"=>["TRIP-10103", "TRIP-10151", "TRIP-10152", "TRIP-10102", "TRIP-10104", "TRIP-10114", "TRIP-10116"], "TRIP-10073"=>["TRIP-10072", "TRIP-10071", "TRIP-10066", "TRIP-10074", "TRIP-10078", "TRIP-10083", "TRIP-10067"], "TRIP-10137"=>["TRIP-10138", "TRIP-10065", "TRIP-10145", "TRIP-10175", "TRIP-10107", "TRIP-10090", "TRIP-10101"], "TRIP-10072"=>["TRIP-10078", "TRIP-10073", "TRIP-10071", "TRIP-10066", "TRIP-10074", "TRIP-10083", "TRIP-10067"], "TRIP-10128"=>["TRIP-10160", "TRIP-10182", "TRIP-10161", "TRIP-10181", "TRIP-10170", "TRIP-10171", "TRIP-10184", "TRIP-10172", "TRIP-10109", "TRIP-10158", "TRIP-10110", "TRIP-10183"], "TRIP-10158"=>["TRIP-10126", "TRIP-10122", "TRIP-10180", "TRIP-10125", "TRIP-10181", "TRIP-10168", "TRIP-10124", "TRIP-10179", "TRIP-10170", "TRIP-10169", "TRIP-10128", "TRIP-10171"], "TRIP-10092"=>["TRIP-10141", "TRIP-10112", "TRIP-10139", "TRIP-10148", "TRIP-10089", "TRIP-10147", "TRIP-10132", "TRIP-10160", "TRIP-10140", "TRIP-10111", "TRIP-10114", "TRIP-10142"], "TRIP-10161"=>["TRIP-10127", "TRIP-10184", "TRIP-10181", "TRIP-10128", "TRIP-10108", "TRIP-10120", "TRIP-10110", "TRIP-10145", "TRIP-10183", "TRIP-10171", "TRIP-10182", "TRIP-10172"], "TRIP-10153"=>["TRIP-10185", "TRIP-10146", "TRIP-10127", "TRIP-10145", "TRIP-10136", "TRIP-10184", "TRIP-10107", "TRIP-10138", "TRIP-10110", "TRIP-10175", "TRIP-10129", "TRIP-10173"], "TRIP-10083"=>["TRIP-10082", "TRIP-10085", "TRIP-10068", "TRIP-10086", "TRIP-10070", "TRIP-10084", "TRIP-10076", "TRIP-10081", "TRIP-10072", "TRIP-10073", "TRIP-10078", "TRIP-10069"], "TRIP-10112"=>["TRIP-10094", "TRIP-10097", "TRIP-10092", "TRIP-10140", "TRIP-10149", "TRIP-10089", "TRIP-10150", "TRIP-10096", "TRIP-10148", "TRIP-10093", "TRIP-10139", "TRIP-10142"], "TRIP-10173"=>["TRIP-10131", "TRIP-10165", "TRIP-10133", "TRIP-10134", "TRIP-10132", "TRIP-10162", "TRIP-10127", "TRIP-10182", "TRIP-10185", "TRIP-10184", "TRIP-10136", "TRIP-10153"], "TRIP-10168"=>["TRIP-10121", "TRIP-10119", "TRIP-10118", "TRIP-10120", "TRIP-10157", "TRIP-10122", "TRIP-10158", "TRIP-10178", "TRIP-10176", "TRIP-10156", "TRIP-10179", "TRIP-10155"], "TRIP-10116"=>["TRIP-10104", "TRIP-10103", "TRIP-10109", "TRIP-10155", "TRIP-10152", "TRIP-10176", "TRIP-10177", "TRIP-10154", "TRIP-10178", "TRIP-10106", "TRIP-10144", "TRIP-10179"], "TRIP-10070"=>["TRIP-10068", "TRIP-10079", "TRIP-10080", "TRIP-10067", "TRIP-10069", "TRIP-10086", "TRIP-10083", "TRIP-10084", "TRIP-10074", "TRIP-10078", "TRIP-10087", "TRIP-10085"], "TRIP-10114"=>["TRIP-10096", "TRIP-10099", "TRIP-10151", "TRIP-10144", "TRIP-10102", "TRIP-10143", "TRIP-10103", "TRIP-10152", "TRIP-10094", "TRIP-10142", "TRIP-10092", "TRIP-10148"], "TRIP-10181"=>["TRIP-10161", "TRIP-10126", "TRIP-10160", "TRIP-10124", "TRIP-10125", "TRIP-10158", "TRIP-10128", "TRIP-10170", "TRIP-10171", "TRIP-10100", "TRIP-10120", "TRIP-10156"], "TRIP-10148"=>["TRIP-10142", "TRIP-10139", "TRIP-10097", "TRIP-10091", "TRIP-10092", "TRIP-10089", "TRIP-10093", "TRIP-10096", "TRIP-10112", "TRIP-10111", "TRIP-10113", "TRIP-10114"], "TRIP-10167"=>["TRIP-10118", "TRIP-10155", "TRIP-10119", "TRIP-10117", "TRIP-10154", "TRIP-10157", "TRIP-10176", "TRIP-10123", "TRIP-10160", "TRIP-10177", "TRIP-10179", "TRIP-10178"], "TRIP-10157"=>["TRIP-10122", "TRIP-10178", "TRIP-10106", "TRIP-10176", "TRIP-10118", "TRIP-10121", "TRIP-10179", "TRIP-10168", "TRIP-10119", "TRIP-10167", "TRIP-10169", "TRIP-10177"], "TRIP-10139"=>["TRIP-10148", "TRIP-10088", "TRIP-10149", "TRIP-10147", "TRIP-10092", "TRIP-10087", "TRIP-10086", "TRIP-10093", "TRIP-10091", "TRIP-10096", "TRIP-10112", "TRIP-10111"], "TRIP-10155"=>["TRIP-10167", "TRIP-10176", "TRIP-10179", "TRIP-10106", "TRIP-10117", "TRIP-10118", "TRIP-10119", "TRIP-10178", "TRIP-10177", "TRIP-10109", "TRIP-10116", "TRIP-10168"], "TRIP-10145"=>["TRIP-10127", "TRIP-10153", "TRIP-10108", "TRIP-10163", "TRIP-10161", "TRIP-10137", "TRIP-10175", "TRIP-10105", "TRIP-10146", "TRIP-10110", "TRIP-10115", "TRIP-10106"], "TRIP-10163"=>["TRIP-10115", "TRIP-10183", "TRIP-10108", "TRIP-10145", "TRIP-10129", "TRIP-10172", "TRIP-10130", "TRIP-10184", "TRIP-10105", "TRIP-10175", "TRIP-10106", "TRIP-10127"], "TRIP-10111"=>["TRIP-10091", "TRIP-10088", "TRIP-10141", "TRIP-10089", "TRIP-10147", "TRIP-10087", "TRIP-10139", "TRIP-10148", "TRIP-10093", "TRIP-10092"], "TRIP-10117"=>["TRIP-10106", "TRIP-10109", "TRIP-10155", "TRIP-10156", "TRIP-10179", "TRIP-10177", "TRIP-10167", "TRIP-10154", "TRIP-10178", "TRIP-10176"], "TRIP-10132"=>["TRIP-10106", "TRIP-10174", "TRIP-10162", "TRIP-10182", "TRIP-10160", "TRIP-10092", "TRIP-10173", "TRIP-10172", "TRIP-10100", "TRIP-10166"], "TRIP-10134"=>["TRIP-10165", "TRIP-10164", "TRIP-10174", "TRIP-10166", "TRIP-10185", "TRIP-10173", "TRIP-10183", "TRIP-10184", "TRIP-10186", "TRIP-10172"], "TRIP-10087"=>["TRIP-10086", "TRIP-10089", "TRIP-10147", "TRIP-10139", "TRIP-10088", "TRIP-10111", "TRIP-10068", "TRIP-10070", "TRIP-10082", "TRIP-10084"], "TRIP-10156"=>["TRIP-10180", "TRIP-10179", "TRIP-10121", "TRIP-10117", "TRIP-10125", "TRIP-10169", "TRIP-10100", "TRIP-10120", "TRIP-10181", "TRIP-10168"], "TRIP-10129"=>["TRIP-10105", "TRIP-10163", "TRIP-10172", "TRIP-10165", "TRIP-10175", "TRIP-10164", "TRIP-10183", "TRIP-10153", "TRIP-10185", "TRIP-10110"], "TRIP-10085"=>["TRIP-10081", "TRIP-10089", "TRIP-10076", "TRIP-10082", "TRIP-10083", "TRIP-10078", "TRIP-10084", "TRIP-10080", "TRIP-10070", "TRIP-10066"], "TRIP-10082"=>["TRIP-10088", "TRIP-10084", "TRIP-10083", "TRIP-10085", "TRIP-10086", "TRIP-10077", "TRIP-10079", "TRIP-10069", "TRIP-10087", "TRIP-10078"], "TRIP-10140"=>["TRIP-10149", "TRIP-10112", "TRIP-10094", "TRIP-10093", "TRIP-10113", "TRIP-10092", "TRIP-10097", "TRIP-10150", "TRIP-10096", "TRIP-10147"], "TRIP-10076"=>["TRIP-10075", "TRIP-10085", "TRIP-10074", "TRIP-10078", "TRIP-10071", "TRIP-10083", "TRIP-10080", "TRIP-10175", "TRIP-10084", "TRIP-10066"], "TRIP-10121"=>["TRIP-10168", "TRIP-10156", "TRIP-10179", "TRIP-10157", "TRIP-10169"], "TRIP-10098"=>["TRIP-10143", "TRIP-10113", "TRIP-10150", "TRIP-10141", "TRIP-10142"], "TRIP-10107"=>["TRIP-10131", "TRIP-10138", "TRIP-10153", "TRIP-10137", "TRIP-10090"], "TRIP-10133"=>["TRIP-10175", "TRIP-10162", "TRIP-10173", "TRIP-10182", "TRIP-10174"], "TRIP-10099"=>["TRIP-10143", "TRIP-10114", "TRIP-10151", "TRIP-10113", "TRIP-10141", "TRIP-10150"], "TRIP-10108"=>["TRIP-10115", "TRIP-10145", "TRIP-10163", "TRIP-10120", "TRIP-10161", "TRIP-10127"], "TRIP-10104"=>["TRIP-10116", "TRIP-10177", "TRIP-10152", "TRIP-10144", "TRIP-10154", "TRIP-10178"], "TRIP-10100"=>["TRIP-10120", "TRIP-10156", "TRIP-10181", "TRIP-10132", "TRIP-10166", "TRIP-10182"], "TRIP-10090"=>["TRIP-10065", "TRIP-10101", "TRIP-10110", "TRIP-10107", "TRIP-10137", "TRIP-10138"], "TRIP-10186"=>["TRIP-10135", "TRIP-10174", "TRIP-10130", "TRIP-10172", "TRIP-10134", "TRIP-10166"], "TRIP-10066"=>["TRIP-10071", "TRIP-10072", "TRIP-10073", "TRIP-10076", "TRIP-10078", "TRIP-10085"], "TRIP-10138"=>["TRIP-10137", "TRIP-10065", "TRIP-10107", "TRIP-10153", "TRIP-10090", "TRIP-10101"], "TRIP-10126"=>["TRIP-10158", "TRIP-10160", "TRIP-10181", "TRIP-10171"], "TRIP-10146"=>["TRIP-10153", "TRIP-10185", "TRIP-10145", "TRIP-10110"], "TRIP-10101"=>["TRIP-10090", "TRIP-10071", "TRIP-10137", "TRIP-10138"], "TRIP-10135"=>["TRIP-10186", "TRIP-10174", "TRIP-10166", "TRIP-10185"], "TRIP-10102"=>["TRIP-10143", "TRIP-10151", "TRIP-10144", "TRIP-10114"], "TRIP-10077"=>["TRIP-10079", "TRIP-10078", "TRIP-10082", "TRIP-10069"], "TRIP-10141"=>["TRIP-10092", "TRIP-10149", "TRIP-10150", "TRIP-10091", "TRIP-10093", "TRIP-10147", "TRIP-10187", "TRIP-10094", "TRIP-10098", "TRIP-10099", "TRIP-10113", "TRIP-10096", "TRIP-10111"], "TRIP-10096"=>["TRIP-10114", "TRIP-10142", "TRIP-10150", "TRIP-10113", "TRIP-10141", "TRIP-10143", "TRIP-10089", "TRIP-10112", "TRIP-10148", "TRIP-10139", "TRIP-10149", "TRIP-10140", "TRIP-10151"], "TRIP-10113"=>["TRIP-10098", "TRIP-10142", "TRIP-10150", "TRIP-10099", "TRIP-10141", "TRIP-10093", "TRIP-10140", "TRIP-10096", "TRIP-10143", "TRIP-10095", "TRIP-10149", "TRIP-10148", "TRIP-10147"], "TRIP-10171"=>["TRIP-10130", "TRIP-10124", "TRIP-10125", "TRIP-10123", "TRIP-10160", "TRIP-10181", "TRIP-10128", "TRIP-10161", "TRIP-10182", "TRIP-10184", "TRIP-10120", "TRIP-10126", "TRIP-10158"], "TRIP-10089"=>["TRIP-10187", "TRIP-10085", "TRIP-10087", "TRIP-10147", "TRIP-10092", "TRIP-10097", "TRIP-10148", "TRIP-10112", "TRIP-10149", "TRIP-10093", "TRIP-10091", "TRIP-10111", "TRIP-10096"], "TRIP-10177"=>["TRIP-10104", "TRIP-10106", "TRIP-10152", "TRIP-10103", "TRIP-10117", "TRIP-10155", "TRIP-10154", "TRIP-10116", "TRIP-10123", "TRIP-10160", "TRIP-10167", "TRIP-10118", "TRIP-10157"], "TRIP-10182"=>["TRIP-10133", "TRIP-10162", "TRIP-10132", "TRIP-10128", "TRIP-10160", "TRIP-10174", "TRIP-10173", "TRIP-10161", "TRIP-10171", "TRIP-10172", "TRIP-10109", "TRIP-10100", "TRIP-10166"], "TRIP-10095"=>["TRIP-10142", "TRIP-10150", "TRIP-10113"], "TRIP-10065"=>["TRIP-10090", "TRIP-10137", "TRIP-10138"], "TRIP-10187"=>["TRIP-10089", "TRIP-10141", "TRIP-10147"], "TRIP-10124"=>["TRIP-10170", "TRIP-10171", "TRIP-10160", "TRIP-10181", "TRIP-10158", "TRIP-10180", "TRIP-10106", "TRIP-10176"], "TRIP-10143"=>["TRIP-10098", "TRIP-10099", "TRIP-10150", "TRIP-10102", "TRIP-10151", "TRIP-10096", "TRIP-10113", "TRIP-10114"], "TRIP-10162"=>["TRIP-10133", "TRIP-10132", "TRIP-10131", "TRIP-10182", "TRIP-10174", "TRIP-10173", "TRIP-10172", "TRIP-10185"], "TRIP-10071"=>["TRIP-10066", "TRIP-10101", "TRIP-10072", "TRIP-10073", "TRIP-10075", "TRIP-10076", "TRIP-10175", "TRIP-10067"], "TRIP-10074"=>["TRIP-10078", "TRIP-10075", "TRIP-10076", "TRIP-10072", "TRIP-10073", "TRIP-10068", "TRIP-10070", "TRIP-10086"], "TRIP-10075"=>["TRIP-10076", "TRIP-10074", "TRIP-10078", "TRIP-10080", "TRIP-10081", "TRIP-10071", "TRIP-10084", "TRIP-10175"], "TRIP-10081"=>["TRIP-10085", "TRIP-10079", "TRIP-10078", "TRIP-10075", "TRIP-10080", "TRIP-10083", "TRIP-10084", "TRIP-10069"], "TRIP-10159"=>["TRIP-10179", "TRIP-10178", "TRIP-10123", "TRIP-10170", "TRIP-10180", "TRIP-10176", "TRIP-10169", "TRIP-10122"], "TRIP-10079"=>["TRIP-10077", "TRIP-10070", "TRIP-10081", "TRIP-10080", "TRIP-10078", "TRIP-10082", "TRIP-10069", "TRIP-10084"], "TRIP-10180"=>["TRIP-10156", "TRIP-10158", "TRIP-10125", "TRIP-10123", "TRIP-10159", "TRIP-10124", "TRIP-10170", "TRIP-10169"], "TRIP-10170"=>["TRIP-10125", "TRIP-10124", "TRIP-10123", "TRIP-10159", "TRIP-10181", "TRIP-10128", "TRIP-10158", "TRIP-10180"], "TRIP-10152"=>["TRIP-10103", "TRIP-10144", "TRIP-10106", "TRIP-10177", "TRIP-10104", "TRIP-10176", "TRIP-10116", "TRIP-10114"], "TRIP-10123"=>["TRIP-10159", "TRIP-10170", "TRIP-10160", "TRIP-10171", "TRIP-10180", "TRIP-10178", "TRIP-10176", "TRIP-10169", "TRIP-10167", "TRIP-10177", "TRIP-10179"], "TRIP-10084"=>["TRIP-10082", "TRIP-10080", "TRIP-10088", "TRIP-10070", "TRIP-10083", "TRIP-10075", "TRIP-10081", "TRIP-10085", "TRIP-10087", "TRIP-10076", "TRIP-10079"], "TRIP-10093"=>["TRIP-10142", "TRIP-10141", "TRIP-10147", "TRIP-10139", "TRIP-10148", "TRIP-10113", "TRIP-10140", "TRIP-10089", "TRIP-10112", "TRIP-10149", "TRIP-10111"], "TRIP-10174"=>["TRIP-10166", "TRIP-10135", "TRIP-10132", "TRIP-10134", "TRIP-10186", "TRIP-10133", "TRIP-10162", "TRIP-10160", "TRIP-10182", "TRIP-10185", "TRIP-10184"], "TRIP-10169"=>["TRIP-10125", "TRIP-10156", "TRIP-10123", "TRIP-10159", "TRIP-10122", "TRIP-10158", "TRIP-10179", "TRIP-10121", "TRIP-10180", "TRIP-10157", "TRIP-10178"], "TRIP-10164"=>["TRIP-10134", "TRIP-10130", "TRIP-10184", "TRIP-10110", "TRIP-10131", "TRIP-10185", "TRIP-10183", "TRIP-10172", "TRIP-10105", "TRIP-10129", "TRIP-10127"], "TRIP-10149"=>["TRIP-10140", "TRIP-10139", "TRIP-10141", "TRIP-10112", "TRIP-10094", "TRIP-10089", "TRIP-10097", "TRIP-10142", "TRIP-10093", "TRIP-10096", "TRIP-10113"], "TRIP-10150"=>["TRIP-10142", "TRIP-10143", "TRIP-10141", "TRIP-10097", "TRIP-10113", "TRIP-10098", "TRIP-10095", "TRIP-10096", "TRIP-10099", "TRIP-10112", "TRIP-10140"], "TRIP-10147"=>["TRIP-10139", "TRIP-10093", "TRIP-10141", "TRIP-10187", "TRIP-10087", "TRIP-10089", "TRIP-10092", "TRIP-10091", "TRIP-10111", "TRIP-10113", "TRIP-10140"], "TRIP-10086"=>["TRIP-10067", "TRIP-10087", "TRIP-10088", "TRIP-10139", "TRIP-10082", "TRIP-10068", "TRIP-10070", "TRIP-10083", "TRIP-10074"], "TRIP-10120"=>["TRIP-10100", "TRIP-10168", "TRIP-10108", "TRIP-10161", "TRIP-10110", "TRIP-10156", "TRIP-10181", "TRIP-10183", "TRIP-10171"], "TRIP-10115"=>["TRIP-10110", "TRIP-10108", "TRIP-10105", "TRIP-10163", "TRIP-10183", "TRIP-10165", "TRIP-10145", "TRIP-10175", "TRIP-10106"], "TRIP-10069"=>["TRIP-10067", "TRIP-10068", "TRIP-10070", "TRIP-10077", "TRIP-10079", "TRIP-10082", "TRIP-10083", "TRIP-10080", "TRIP-10081"], "TRIP-10131"=>["TRIP-10173", "TRIP-10107", "TRIP-10162", "TRIP-10164", "TRIP-10165", "TRIP-10185", "TRIP-10183", "TRIP-10172", "TRIP-10184"], "TRIP-10166"=>["TRIP-10174", "TRIP-10185", "TRIP-10135", "TRIP-10134", "TRIP-10186", "TRIP-10184", "TRIP-10100", "TRIP-10132", "TRIP-10182"], "TRIP-10105"=>["TRIP-10129", "TRIP-10165", "TRIP-10115", "TRIP-10164", "TRIP-10127", "TRIP-10145", "TRIP-10163", "TRIP-10183", "TRIP-10184"], "TRIP-10109"=>["TRIP-10154", "TRIP-10117", "TRIP-10116", "TRIP-10155", "TRIP-10178", "TRIP-10128", "TRIP-10160", "TRIP-10182", "TRIP-10179"], "TRIP-10154"=>["TRIP-10109", "TRIP-10104", "TRIP-10177", "TRIP-10117", "TRIP-10167", "TRIP-10106", "TRIP-10178", "TRIP-10116", "TRIP-10179"], "TRIP-10080"=>["TRIP-10084", "TRIP-10070", "TRIP-10079", "TRIP-10075", "TRIP-10081", "TRIP-10076", "TRIP-10078", "TRIP-10085", "TRIP-10069"], "TRIP-10151"=>["TRIP-10103", "TRIP-10144", "TRIP-10102", "TRIP-10143", "TRIP-10099", "TRIP-10114", "TRIP-10096", "TRIP-10094", "TRIP-10142"], "TRIP-10142"=>["TRIP-10148", "TRIP-10093", "TRIP-10150", "TRIP-10097", "TRIP-10113", "TRIP-10095", "TRIP-10096", "TRIP-10098", "TRIP-10149", "TRIP-10112", "TRIP-10094", "TRIP-10114", "TRIP-10151", "TRIP-10092"], "TRIP-10078"=>["TRIP-10077", "TRIP-10072", "TRIP-10074", "TRIP-10079", "TRIP-10081", "TRIP-10075", "TRIP-10076", "TRIP-10080", "TRIP-10073", "TRIP-10083", "TRIP-10070", "TRIP-10085", "TRIP-10082", "TRIP-10066"], "TRIP-10106"=>["TRIP-10117", "TRIP-10132", "TRIP-10152", "TRIP-10177", "TRIP-10155", "TRIP-10157", "TRIP-10176", "TRIP-10154", "TRIP-10115", "TRIP-10145", "TRIP-10163", "TRIP-10124", "TRIP-10160", "TRIP-10116"], "TRIP-10165"=>["TRIP-10134", "TRIP-10184", "TRIP-10105", "TRIP-10173", "TRIP-10131", "TRIP-10185", "TRIP-10136", "TRIP-10183", "TRIP-10129", "TRIP-10175", "TRIP-10110", "TRIP-10115", "TRIP-10127", "TRIP-10172"], "TRIP-10110"=>["TRIP-10115", "TRIP-10090", "TRIP-10164", "TRIP-10165", "TRIP-10120", "TRIP-10161", "TRIP-10127", "TRIP-10145", "TRIP-10153", "TRIP-10183", "TRIP-10129", "TRIP-10128", "TRIP-10146", "TRIP-10185"], "TRIP-10127"=>["TRIP-10161", "TRIP-10172", "TRIP-10145", "TRIP-10153", "TRIP-10105", "TRIP-10164", "TRIP-10165", "TRIP-10173", "TRIP-10110", "TRIP-10175", "TRIP-10185", "TRIP-10184", "TRIP-10108", "TRIP-10163", "TRIP-10183"], "TRIP-10175"=>["TRIP-10133", "TRIP-10129", "TRIP-10165", "TRIP-10137", "TRIP-10145", "TRIP-10136", "TRIP-10153", "TRIP-10185", "TRIP-10127", "TRIP-10115", "TRIP-10163", "TRIP-10183", "TRIP-10071", "TRIP-10075", "TRIP-10076"], "TRIP-10160"=>["TRIP-10126", "TRIP-10181", "TRIP-10124", "TRIP-10123", "TRIP-10171", "TRIP-10128", "TRIP-10182", "TRIP-10132", "TRIP-10092", "TRIP-10174", "TRIP-10106", "TRIP-10176", "TRIP-10167", "TRIP-10177", "TRIP-10109"], "TRIP-10178"=>["TRIP-10159", "TRIP-10157", "TRIP-10123", "TRIP-10119", "TRIP-10155", "TRIP-10109", "TRIP-10154", "TRIP-10168", "TRIP-10122", "TRIP-10118", "TRIP-10117", "TRIP-10104", "TRIP-10116", "TRIP-10167", "TRIP-10169"], "TRIP-10176"=>["TRIP-10155", "TRIP-10106", "TRIP-10157", "TRIP-10152", "TRIP-10118", "TRIP-10103", "TRIP-10123", "TRIP-10159", "TRIP-10116", "TRIP-10119", "TRIP-10168", "TRIP-10117", "TRIP-10167", "TRIP-10124", "TRIP-10160"], "TRIP-10183"=>["TRIP-10115", "TRIP-10163", "TRIP-10130", "TRIP-10164", "TRIP-10136", "TRIP-10165", "TRIP-10134", "TRIP-10129", "TRIP-10131", "TRIP-10105", "TRIP-10110", "TRIP-10120", "TRIP-10161", "TRIP-10175", "TRIP-10128", "TRIP-10127"], "TRIP-10179"=>["TRIP-10159", "TRIP-10156", "TRIP-10155", "TRIP-10121", "TRIP-10117", "TRIP-10157", "TRIP-10122", "TRIP-10158", "TRIP-10168", "TRIP-10169", "TRIP-10119", "TRIP-10167", "TRIP-10123", "TRIP-10109", "TRIP-10116", "TRIP-10154"], "TRIP-10172"=>["TRIP-10127", "TRIP-10130", "TRIP-10164", "TRIP-10129", "TRIP-10163", "TRIP-10186", "TRIP-10131", "TRIP-10162", "TRIP-10185", "TRIP-10134", "TRIP-10165", "TRIP-10184", "TRIP-10128", "TRIP-10161", "TRIP-10132", "TRIP-10182"], "TRIP-10184"=>["TRIP-10165", "TRIP-10164", "TRIP-10161", "TRIP-10136", "TRIP-10153", "TRIP-10130", "TRIP-10163", "TRIP-10134", "TRIP-10105", "TRIP-10127", "TRIP-10172", "TRIP-10173", "TRIP-10128", "TRIP-10171", "TRIP-10166", "TRIP-10174", "TRIP-10131"], "TRIP-10185"=>["TRIP-10166", "TRIP-10153", "TRIP-10146", "TRIP-10131", "TRIP-10165", "TRIP-10164", "TRIP-10134", "TRIP-10136", "TRIP-10175", "TRIP-10127", "TRIP-10162", "TRIP-10172", "TRIP-10173", "TRIP-10135", "TRIP-10174", "TRIP-10129", "TRIP-10110"]}