1
lines = File.readlines('6.input').map(&:chomp)
2
3
flines = []
4
last = 0
5
lines[0].length.times do |col|
6
if lines.all? { |l| l[col] == ' ' }
7
flines << lines.map { |l| l[last...col] }
8
last = col + 1
9
end
10
end
11
flines << lines.map { |l| l[last..] }
12
13
p(flines.sum do |els|
14
op = els.pop.strip.intern
15
raise "beep" if !els.all? { |el| el.length == els[0].length }
16
17
(els[0].length - 1).downto(0).map { |ix|
18
els.map { |el| el[ix] }.join.strip.to_i
19
}.reduce(op)
20
end)
21