Skip to content

Instantly share code, notes, and snippets.

@blake41
Created November 25, 2014 19:33
Show Gist options
  • Save blake41/13ad86355fe0620af598 to your computer and use it in GitHub Desktop.
Save blake41/13ad86355fe0620af598 to your computer and use it in GitHub Desktop.
relationships = []
File.foreach("./input.txt") do |line|
items = line.split(" ")
relationships << [items[6], items[7]]
end
connections = Hash.new {|k, v| k[v] = []}
relationships.each do |pair|
connections[pair[0]] << pair[1]
end
pre_clusters = []
connections.keys.each do |key|
key_cluster = [key]
connections[key].each do |friend|
key_cluster << friend if connections[friend].include?(key)
end
pre_clusters << key_cluster
end
# clusters = pre_clusters.collect {|sub| sub.sort}.uniq
i = 0
legit_clusters = []
while i < pre_clusters.size
add = true
j = 0
while j < pre_clusters.size
if i == j
j += 1
next
end
# binding.pry
add = false if (pre_clusters[i] - pre_clusters[j]).empty?
j += 1
end
legit_clusters << pre_clusters[i] if add
i += 1
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment