[2017][ruby][12.x] speedrun

sorbet
Alpha Chen 7 years ago
parent 614ff8b722
commit 27051203b9

File diff suppressed because it is too large Load Diff

@ -0,0 +1,19 @@
require "set"
h = Hash[ARGF.read.strip.scan(/(\d+) <-> ([\d, ]+)/).map {|a,b| [a.to_i, b.scan(/\d+/).map(&:to_i)]}]
count = 0
until h.empty?
key = h.keys.first
foo = Set.new
foo << key
bar = [key]
until bar.empty?
baz = bar.shift
bar = bar.concat(h[baz] - foo.to_a)
foo = foo.merge(h[baz])
end
count += 1
foo.each do |k|
h.delete(k)
end
end
p count
Loading…
Cancel
Save