11th day
This commit is contained in:
parent
a23330f007
commit
4ff438de36
21
hexagons.rb
Normal file
21
hexagons.rb
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
require 'matrix'
|
||||||
|
input = File.read("input_11.rb").strip.split(",").map(&:to_sym)
|
||||||
|
HEX_DIRS = {
|
||||||
|
:n => Vector[0,1,-1], :ne => Vector[-1,1,0],
|
||||||
|
:se => Vector[-1,0,1], :s => Vector[0,-1,1],
|
||||||
|
:sw => Vector[1,-1,0], :nw => Vector[1,0,-1]
|
||||||
|
}
|
||||||
|
|
||||||
|
def dist path
|
||||||
|
|
||||||
|
path.reduce({:vec => Vector[0,0,0], :lol => 0}) do |mem,step|
|
||||||
|
mem[:vec]= new = mem[:vec] + HEX_DIRS[step]
|
||||||
|
mem[:lol] = [new.map(&:abs).sum / 2, mem[:lol]].max
|
||||||
|
mem
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
out = dist input
|
||||||
|
p out[:vec].map(&:abs).sum / 2, out[:lol]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user