[2017][ruby][6.x] speedrun
change swtmvloluypzvslvzxqkkmwnwxylqzlp
commit c08627058a8edddbec1226e82df4d85bd93d858c
author Alpha Chen <alpha.chen@gmail.com>
date
parent uswnmlvz
diff --git a/2017/ruby/day_06.rb b/2017/ruby/day_06.rb
new file mode 100644
index 0000000..4f54a2f
--- /dev/null
+++ b/2017/ruby/day_06.rb
@@ -0,0 +1,27 @@
+banks = ARGF.read.strip.split("\t").map(&:to_i)
+
+history = { banks => true}
+count = 0
+seen = false
+loop do
+  v, i = banks.map.with_index {|v,i| [v,i] }.max_by(&:first)
+  banks[i] = 0
+  i += 1
+  while v > 0
+    banks[i % banks.size] += 1
+    v -= 1
+    i += 1
+  end
+  count += 1
+  if history.has_key?(banks)
+    if seen
+      puts count
+      exit
+    else
+      history.clear
+      seen = true
+      count = 0
+    end
+  end
+  history[banks] = true
+end