diff --git a/2016/ruby/day_19.rb b/2016/ruby/day_19.rb new file mode 100644 index 0000000..6ec925f --- /dev/null +++ b/2016/ruby/day_19.rb @@ -0,0 +1,16 @@ +Elf = Struct.new(:id, :presents) + +n = 3017957 +elves = Array.new(n) {|i| Elf.new(i+1, 1) } + +until elves.size == 1 + elf = elves.shift + next if elf.presents.zero? + + elf.presents += elves.first.presents + elves.first.presents = 0 + + elves << elf +end + +p elves