From e12436c99bb04897d6344b6351d0336e4c627573 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Thu, 28 Nov 2019 17:38:10 +0100 Subject: add rest --- day09.rb | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 day09.rb (limited to 'day09.rb') diff --git a/day09.rb b/day09.rb new file mode 100644 index 0000000..ed76465 --- /dev/null +++ b/day09.rb @@ -0,0 +1,54 @@ +s = [0] + +m = 1 +i = 0 + +mp = 9 +mr = 25 + +mp = 10 +mr = 1618 +=begin + +mp = 13 +mr = 7999 + +mp, mr = File.read("day09").scan(/\d+/).map(&:to_i) +mr *= 100 # part 2 + +p mr +=end + +scores = Hash.new(0) + +catch(:done) { +loop { + (1..mp).each { |p| + print m, " ", i, " ", s.size, " " + p s + + if m % 23 == 0 + scores[p] += m + print "score1 #{p} #{m}\n" + i = (i - 8) % s.size + print "score2 #{p} #{s[i]}\n" + scores[p] += s.delete_at(i) + + i = (i+1)%s.size + m += 1 + else + i += 1 + s.insert(i, m) + i = (i+1)%s.size + m += 1 + end + + p m if m % 100000 == 0 + + throw :done if m >= mr+1 + } +} +} + +p scores +p scores.values.max # 382055 -- cgit 1.4.1