From 3555be54c2abb8d5ece008a60dbdfbde0ffbddd7 Mon Sep 17 00:00:00 2001 From: Alex Pickering Date: Fri, 7 Feb 2025 12:49:48 -0600 Subject: inital commit --- 09/1.lua | 48 ++ 09/ext.lua | 62 ++ 09/input.txt | 2000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 09/sample.txt | 8 + 09/sample2.txt | 8 + 5 files changed, 2126 insertions(+) create mode 100644 09/1.lua create mode 100755 09/ext.lua create mode 100644 09/input.txt create mode 100644 09/sample.txt create mode 100644 09/sample2.txt (limited to '09') diff --git a/09/1.lua b/09/1.lua new file mode 100644 index 0000000..8757767 --- /dev/null +++ b/09/1.lua @@ -0,0 +1,48 @@ +local knots, tail_moved = {}, {} +for i = 1,10 do table.insert(knots,{1,1}) end +local directions = { + R = {1,0}, + U = {0,1}, + L = {-1,0}, + D = {0,-1}, +} +local sfmt = "%d - %d" +local motion = {} +for i = -2,2 do + for j = -2, 2 do + if math.abs(i)^2 + math.abs(j)^2 > 2 then + motion[sfmt:format(i,j)] = { + i == 0 and 0 or math.abs(i)/i, + j == 0 and 0 or math.abs(j)/j + } + else + motion[sfmt:format(i,j)] = {0,0} + end + end +end +local function insert_tail_pos() + local tail = knots[#knots] + tail_moved[string.format(sfmt,tail[1],tail[2])] = true +end +local function move_knot(knot,twords) + local x,y = twords[1] - knot[1], twords[2] - knot[2] + local direction = motion[string.format("%d - %d",x,y)] + knot[1],knot[2] = knot[1] + direction[1], knot[2] + direction[2] +end +insert_tail_pos() +for line in io.lines() do + local direction, steps = line:match("([RULD]) (%d+)") + direction = directions[direction] + for i = 1,steps do + knots[1][1], knots[1][2] = knots[1][1] + direction[1], knots[1][2] + direction[2] + for j = 2,#knots do + move_knot(knots[j],knots[j-1]) + insert_tail_pos() + end + end +end +local tmr = {} +for p,_ in pairs(tail_moved) do + table.insert(tmr,p) +end +print(#tmr) diff --git a/09/ext.lua b/09/ext.lua new file mode 100755 index 0000000..c1eb1cc --- /dev/null +++ b/09/ext.lua @@ -0,0 +1,62 @@ +-- Override tostring to display more info about the table +local old_tostring = tostring +local numtabs = 0 +local printed_tables = {} + +local function tostring_helper(el) + assert(type(el) == "table", "Tried to call helper with something that was not a table, it was a " .. type(el)) + local mt = getmetatable(el) + if mt and mt.__tostring then + return mt.__tostring(el) + elseif printed_tables[el] == true then + return old_tostring(el) + else + printed_tables[el] = true + numtabs = numtabs + 1 + local strbuilder = setmetatable({"{"},{__index = table}) + for k,v in pairs(el) do + local key,value + if type(k) == "table" then + key = tostring_helper(k) + else + key = old_tostring(k) + end + if type(v) == "table" then + value = tostring_helper(v) + else + value = old_tostring(v) + end + strbuilder:insert(string.format("%s%s : %s", string.rep("\t",numtabs), key, value)) + end + strbuilder:insert(string.rep("\t",numtabs - 1) .. "}") + numtabs = numtabs - 1 + return strbuilder:concat("\n") + end + +end +function tostring(el) + printed_tables = {} + if type(el) == "table" then + return tostring_helper(el) + end + return old_tostring(el) +end + +-- Functions to save my hands +function printf(fmt, ...) + print(string.format(fmt,...)) +end +function errorf(fmt, ...) + --Our error isn't actually in this function, it's 1 above us (1) = 2 + error(string.format(fmt,...),2) +end +function assertf(bool, fmt, ...) + assert(type(fmt) == "string", "Assertf arg #2 was \"" .. type(fmt) .. "\", expected string") + if not bool then + args = {fmt} + for k,v in ipairs({...}) do + table.insert(args,tostring(v)) + end + error(string.format(unpack(args)),2) + end +end diff --git a/09/input.txt b/09/input.txt new file mode 100644 index 0000000..fc0dcd9 --- /dev/null +++ b/09/input.txt @@ -0,0 +1,2000 @@ +L 1 +U 2 +L 1 +U 2 +L 2 +R 1 +L 1 +U 2 +D 1 +R 1 +D 2 +L 2 +D 2 +L 2 +R 1 +U 2 +L 2 +R 1 +D 1 +R 2 +D 1 +R 1 +L 2 +U 1 +D 1 +U 2 +R 1 +L 1 +U 1 +L 1 +D 2 +L 2 +U 1 +L 1 +U 1 +D 1 +L 2 +D 2 +U 1 +R 1 +L 1 +U 2 +D 1 +U 1 +L 2 +U 2 +L 2 +R 2 +U 2 +L 1 +U 2 +R 1 +D 1 +R 2 +D 1 +R 2 +L 2 +D 1 +R 1 +D 1 +R 2 +L 2 +U 1 +D 1 +L 2 +U 2 +D 1 +L 1 +U 2 +R 1 +D 2 +R 1 +U 2 +L 1 +U 1 +L 2 +U 1 +R 1 +D 2 +L 2 +R 2 +D 2 +U 1 +L 2 +D 2 +L 2 +D 2 +L 2 +D 2 +L 1 +U 1 +L 2 +U 2 +L 2 +D 1 +U 2 +R 1 +U 2 +L 1 +U 2 +R 1 +D 2 +U 2 +D 1 +U 1 +D 1 +R 1 +U 2 +L 2 +U 1 +R 2 +U 1 +R 1 +L 1 +R 3 +L 2 +R 1 +L 3 +R 2 +D 1 +U 3 +L 2 +U 3 +R 3 +D 2 +U 2 +D 2 +L 1 +D 2 +U 1 +L 3 +U 1 +R 2 +L 2 +R 3 +D 2 +L 1 +D 2 +U 1 +L 2 +U 1 +R 2 +L 1 +U 1 +D 2 +R 2 +U 2 +D 1 +L 2 +D 2 +U 3 +L 3 +D 3 +U 3 +L 3 +R 1 +L 1 +U 1 +L 3 +D 1 +R 3 +D 1 +R 2 +L 1 +R 3 +D 3 +U 1 +R 2 +D 3 +L 1 +U 1 +D 3 +L 2 +U 2 +R 1 +U 3 +D 2 +L 2 +U 1 +L 2 +R 3 +L 1 +R 1 +U 2 +R 3 +U 2 +L 1 +U 3 +L 2 +R 3 +D 1 +L 3 +R 3 +D 3 +U 2 +R 2 +L 1 +R 2 +U 3 +D 2 +U 2 +R 3 +D 3 +R 2 +U 2 +D 2 +U 1 +L 1 +U 2 +L 3 +D 2 +L 3 +U 2 +R 3 +L 3 +D 2 +R 1 +L 2 +R 2 +U 3 +R 1 +U 2 +R 1 +L 4 +U 4 +L 4 +D 2 +U 1 +L 2 +R 4 +U 4 +D 2 +L 1 +D 1 +R 2 +D 2 +R 4 +L 1 +U 2 +D 2 +U 1 +D 2 +L 2 +U 2 +R 4 +D 3 +U 4 +D 1 +U 4 +R 4 +L 1 +U 2 +L 4 +U 2 +R 2 +D 2 +L 1 +U 1 +R 3 +L 4 +D 2 +R 4 +U 1 +R 4 +U 2 +D 2 +U 3 +R 3 +L 1 +U 2 +L 2 +R 4 +L 2 +R 4 +D 2 +U 4 +D 2 +U 1 +R 4 +D 4 +U 4 +L 2 +D 2 +R 4 +L 2 +D 1 +L 4 +D 2 +L 3 +U 3 +L 1 +D 2 +R 1 +D 4 +R 3 +D 4 +L 1 +U 4 +D 2 +U 3 +D 1 +R 2 +L 1 +D 4 +R 3 +U 1 +L 1 +U 1 +D 3 +R 1 +L 3 +R 1 +U 2 +R 4 +U 2 +R 3 +D 4 +R 2 +U 3 +D 3 +L 1 +U 4 +D 3 +R 2 +D 3 +U 2 +L 1 +U 1 +R 3 +D 3 +L 1 +D 1 +L 4 +U 2 +R 3 +L 4 +R 5 +D 1 +L 3 +R 1 +D 4 +L 3 +D 3 +R 1 +U 3 +L 4 +U 2 +R 1 +D 3 +L 1 +D 5 +R 4 +D 1 +U 1 +D 5 +R 1 +U 5 +D 1 +L 4 +D 1 +R 2 +U 4 +L 5 +D 4 +R 1 +L 1 +R 2 +D 3 +L 2 +R 2 +D 4 +U 1 +R 4 +U 4 +L 2 +D 1 +L 4 +U 3 +L 4 +U 3 +L 1 +R 2 +L 3 +R 1 +L 1 +D 3 +R 2 +U 5 +L 2 +D 3 +R 3 +D 5 +L 3 +R 3 +U 5 +R 1 +L 3 +D 4 +R 4 +D 5 +R 1 +U 3 +D 5 +U 2 +R 3 +U 4 +R 2 +L 2 +D 3 +L 4 +R 3 +D 3 +U 2 +D 4 +U 1 +L 1 +R 4 +D 5 +U 5 +R 2 +D 1 +R 1 +D 2 +R 5 +U 4 +R 3 +D 3 +L 4 +D 1 +L 4 +R 3 +D 4 +U 2 +D 4 +U 5 +L 3 +D 4 +U 2 +R 4 +L 2 +D 1 +R 4 +U 2 +R 2 +D 4 +L 1 +R 3 +D 2 +U 2 +L 6 +D 4 +U 2 +L 2 +D 5 +R 3 +L 6 +U 3 +L 6 +U 3 +R 2 +U 3 +L 1 +U 2 +R 6 +U 2 +R 6 +L 5 +U 2 +R 5 +U 5 +L 4 +U 1 +R 2 +D 2 +U 5 +R 3 +L 1 +D 1 +R 6 +L 1 +U 3 +L 6 +U 5 +R 3 +L 3 +U 1 +R 1 +U 1 +R 4 +U 5 +R 1 +D 1 +R 5 +L 5 +D 4 +R 4 +L 1 +D 6 +L 1 +D 2 +U 6 +L 3 +U 1 +R 3 +U 1 +R 2 +U 3 +L 6 +R 6 +U 2 +R 3 +U 6 +L 1 +D 2 +U 2 +L 5 +R 1 +L 5 +D 5 +R 3 +D 2 +L 5 +R 6 +D 2 +U 1 +L 4 +D 2 +L 4 +U 5 +L 1 +R 2 +L 1 +R 3 +L 6 +R 3 +D 3 +R 6 +D 1 +U 2 +R 2 +L 4 +U 6 +D 1 +R 6 +L 2 +D 6 +U 3 +R 1 +U 1 +D 6 +U 2 +L 4 +D 6 +L 6 +U 3 +R 5 +U 2 +L 1 +U 4 +R 6 +U 4 +D 5 +L 1 +D 3 +L 2 +D 6 +L 1 +D 7 +U 4 +D 2 +L 6 +U 3 +D 6 +R 6 +D 3 +R 4 +U 2 +R 6 +D 7 +L 2 +D 4 +L 3 +D 4 +U 1 +R 4 +L 2 +R 4 +L 1 +R 4 +L 4 +U 7 +L 5 +U 1 +D 1 +L 6 +D 4 +R 6 +D 6 +U 2 +D 5 +L 7 +D 5 +L 1 +U 7 +L 2 +R 6 +D 6 +U 2 +R 6 +D 5 +R 7 +L 3 +R 3 +D 1 +U 1 +L 2 +D 5 +R 1 +U 6 +R 1 +D 1 +U 5 +D 4 +U 7 +D 4 +U 2 +D 1 +U 4 +D 3 +R 1 +U 6 +D 3 +U 5 +L 3 +D 7 +R 3 +D 2 +R 4 +D 2 +R 6 +L 5 +D 6 +L 3 +U 5 +L 1 +R 2 +U 2 +R 6 +U 3 +R 7 +L 7 +R 5 +L 6 +D 4 +R 3 +D 7 +U 5 +L 1 +R 1 +U 4 +L 7 +R 1 +D 4 +U 2 +L 3 +D 2 +L 8 +R 6 +L 4 +U 4 +L 5 +R 4 +L 6 +D 1 +U 1 +L 4 +U 2 +R 1 +U 6 +R 6 +U 5 +R 2 +L 1 +D 3 +R 3 +D 8 +U 5 +R 1 +L 1 +U 3 +R 1 +D 4 +L 6 +D 8 +R 7 +U 2 +R 1 +L 6 +U 7 +R 1 +D 6 +U 1 +R 3 +L 5 +U 1 +R 6 +L 8 +U 6 +D 5 +L 8 +U 5 +R 8 +U 3 +L 2 +D 8 +U 5 +D 4 +L 1 +R 8 +U 2 +D 6 +R 1 +D 4 +R 8 +U 8 +L 1 +U 4 +R 2 +L 2 +D 3 +U 1 +R 4 +U 6 +D 6 +L 3 +R 4 +D 7 +R 5 +D 8 +R 6 +U 4 +L 7 +D 5 +U 5 +L 5 +D 4 +U 4 +D 7 +R 8 +L 2 +R 1 +D 8 +R 4 +U 4 +R 6 +D 7 +U 6 +D 5 +R 6 +L 6 +U 6 +R 7 +D 3 +L 4 +R 5 +D 4 +L 3 +D 3 +U 3 +D 6 +U 7 +D 1 +L 1 +U 6 +D 7 +R 8 +U 2 +D 1 +R 6 +D 6 +L 6 +U 1 +D 9 +U 3 +R 1 +D 9 +R 4 +D 2 +R 4 +D 1 +U 9 +D 4 +R 5 +U 5 +L 2 +U 7 +L 8 +U 7 +L 5 +U 6 +R 5 +U 5 +D 9 +R 3 +D 2 +U 6 +L 3 +U 9 +R 9 +L 4 +U 9 +L 7 +D 2 +L 6 +D 8 +L 1 +R 5 +U 8 +D 1 +R 4 +L 3 +U 7 +D 4 +U 2 +L 4 +R 4 +L 1 +R 5 +L 6 +R 9 +D 1 +U 4 +D 9 +R 4 +L 6 +D 7 +L 7 +D 8 +R 4 +D 7 +R 6 +U 2 +R 1 +D 3 +U 8 +R 4 +L 7 +U 9 +R 9 +U 1 +D 4 +L 2 +R 4 +L 1 +D 3 +R 8 +U 5 +L 6 +R 8 +U 6 +R 4 +U 7 +R 7 +L 6 +D 3 +U 1 +D 8 +L 9 +U 3 +D 1 +L 8 +D 3 +U 1 +D 2 +R 3 +D 6 +R 4 +U 2 +L 4 +D 7 +R 1 +D 1 +R 3 +D 5 +U 3 +R 4 +L 2 +D 6 +U 1 +R 5 +U 5 +D 1 +R 10 +U 10 +L 3 +R 1 +L 2 +U 10 +R 1 +U 7 +R 7 +D 2 +U 8 +L 9 +D 4 +U 7 +L 8 +D 2 +L 5 +U 9 +R 9 +U 6 +L 7 +R 1 +D 8 +L 2 +U 1 +L 2 +R 6 +D 5 +U 10 +R 10 +L 2 +R 1 +L 1 +D 2 +U 7 +D 10 +R 2 +D 1 +R 5 +U 4 +D 8 +R 9 +U 10 +L 6 +R 4 +L 10 +R 8 +L 9 +D 5 +R 6 +U 9 +L 6 +D 2 +U 9 +D 1 +U 7 +L 2 +U 1 +D 8 +R 2 +U 3 +L 5 +R 1 +D 8 +R 1 +D 7 +R 6 +U 2 +L 4 +D 8 +R 4 +U 3 +D 10 +L 6 +D 5 +L 1 +U 8 +D 4 +R 8 +D 10 +R 7 +U 5 +R 5 +L 10 +D 1 +R 8 +U 1 +L 8 +U 10 +R 3 +U 6 +L 1 +R 3 +L 6 +D 8 +L 4 +R 6 +L 1 +D 10 +R 1 +D 5 +R 5 +D 8 +U 2 +R 2 +U 1 +D 1 +L 10 +R 10 +D 1 +U 10 +L 11 +R 2 +L 1 +D 5 +L 5 +R 7 +U 10 +D 8 +L 1 +R 9 +D 11 +R 7 +L 1 +R 4 +D 2 +L 9 +U 2 +R 11 +L 2 +R 11 +U 7 +R 4 +U 5 +L 7 +D 10 +L 3 +D 6 +L 3 +D 1 +L 7 +R 10 +D 4 +U 8 +D 11 +L 4 +U 3 +R 11 +U 9 +L 4 +U 11 +R 9 +U 6 +L 1 +D 11 +R 6 +L 10 +R 5 +D 7 +R 5 +L 1 +R 4 +D 6 +L 3 +U 6 +D 8 +R 6 +L 4 +R 2 +L 9 +R 5 +D 3 +R 6 +D 7 +L 1 +U 4 +D 11 +U 10 +R 1 +U 6 +R 1 +D 4 +U 7 +R 9 +U 6 +R 10 +L 2 +D 8 +U 8 +D 2 +U 6 +L 3 +R 10 +U 11 +R 2 +D 6 +L 10 +U 11 +R 11 +D 11 +U 11 +R 5 +D 9 +R 8 +U 4 +L 3 +D 4 +L 2 +R 11 +U 9 +D 1 +U 8 +R 9 +L 6 +U 8 +D 10 +U 7 +L 7 +R 1 +D 10 +U 2 +R 2 +L 10 +U 4 +R 1 +L 3 +D 3 +R 11 +L 4 +R 6 +L 6 +D 5 +R 10 +U 1 +D 5 +U 7 +D 10 +R 9 +L 1 +U 9 +R 10 +D 9 +U 2 +R 7 +D 5 +R 7 +U 2 +D 1 +R 3 +L 12 +R 6 +U 8 +L 7 +R 7 +D 11 +L 8 +U 2 +L 1 +U 9 +L 5 +R 3 +L 10 +U 6 +L 10 +D 2 +R 5 +D 7 +L 11 +R 12 +D 11 +U 2 +R 11 +D 9 +R 2 +U 9 +D 10 +U 4 +R 7 +L 12 +D 7 +R 3 +L 6 +D 3 +R 7 +D 8 +R 5 +U 7 +R 8 +D 3 +R 5 +D 4 +U 4 +L 3 +D 2 +L 5 +D 4 +L 8 +U 1 +R 4 +L 6 +D 1 +U 11 +R 5 +L 6 +R 2 +L 6 +D 1 +R 10 +U 9 +L 7 +U 6 +D 3 +L 10 +D 11 +L 1 +U 9 +L 11 +R 2 +D 2 +R 5 +L 5 +U 7 +R 5 +U 12 +D 10 +R 5 +L 12 +R 10 +U 2 +R 7 +U 7 +D 6 +U 6 +L 13 +R 12 +L 9 +R 6 +L 5 +R 11 +U 10 +R 13 +L 7 +D 10 +U 11 +R 7 +U 5 +L 5 +D 1 +L 2 +D 7 +U 10 +R 4 +L 4 +R 9 +U 7 +L 13 +U 8 +L 1 +D 2 +R 5 +L 4 +D 9 +U 9 +L 13 +D 3 +L 5 +U 9 +L 1 +R 11 +L 6 +D 8 +R 10 +D 13 +U 10 +L 8 +D 7 +R 13 +L 6 +U 7 +L 2 +D 13 +U 4 +L 10 +U 10 +R 13 +L 10 +U 5 +R 1 +L 1 +R 1 +D 9 +R 8 +D 9 +R 5 +D 1 +R 5 +U 4 +R 9 +D 12 +R 4 +U 2 +R 2 +U 5 +D 1 +R 10 +L 7 +D 8 +R 3 +L 5 +D 7 +L 4 +D 6 +U 11 +D 8 +U 13 +R 8 +U 1 +D 11 +R 8 +D 1 +U 13 +L 10 +R 11 +D 3 +L 11 +U 4 +D 13 +R 9 +L 1 +D 1 +U 3 +L 8 +U 11 +R 1 +L 6 +U 7 +R 9 +U 8 +D 6 +L 10 +U 11 +L 9 +D 7 +U 7 +R 5 +L 3 +R 8 +U 1 +L 13 +R 5 +L 11 +U 5 +R 9 +L 14 +R 1 +L 12 +R 11 +D 4 +R 11 +U 5 +R 10 +D 10 +U 7 +R 2 +L 5 +R 4 +L 2 +R 1 +D 6 +R 7 +L 4 +U 6 +D 12 +L 12 +D 6 +U 9 +D 12 +L 9 +R 1 +L 11 +U 5 +D 12 +U 6 +D 1 +U 7 +D 7 +U 7 +D 1 +R 14 +D 1 +R 5 +U 12 +D 1 +R 2 +U 12 +R 6 +U 6 +L 3 +U 8 +R 5 +U 4 +R 14 +D 1 +U 12 +R 10 +D 12 +R 11 +L 8 +D 2 +R 5 +U 12 +R 11 +L 5 +R 7 +L 6 +U 3 +L 3 +R 5 +D 12 +L 9 +U 13 +L 3 +D 3 +U 10 +R 6 +U 11 +L 12 +R 11 +U 2 +D 9 +U 11 +L 5 +U 14 +R 3 +U 13 +D 7 +L 2 +D 9 +R 3 +D 1 +U 14 +D 3 +U 14 +D 14 +L 10 +U 4 +D 2 +R 4 +U 14 +L 8 +U 6 +D 6 +L 4 +D 9 +R 4 +U 13 +D 8 +U 4 +R 13 +U 3 +R 3 +D 5 +R 1 +U 13 +L 4 +U 4 +D 6 +U 3 +R 6 +U 14 +R 7 +U 9 +L 8 +R 8 +L 4 +R 9 +U 8 +R 10 +D 12 +U 1 +D 1 +U 7 +L 15 +R 7 +U 8 +D 14 +L 10 +R 5 +U 4 +L 14 +U 7 +D 7 +L 13 +R 11 +L 11 +U 4 +D 11 +L 2 +U 15 +L 2 +U 10 +D 12 +L 4 +R 7 +L 3 +U 13 +R 3 +U 6 +D 7 +U 9 +R 5 +D 9 +U 4 +L 10 +D 7 +R 12 +U 11 +L 9 +D 3 +U 6 +R 11 +D 4 +L 4 +R 12 +D 3 +R 12 +D 10 +R 13 +U 1 +D 15 +L 8 +U 14 +L 8 +R 2 +L 8 +D 7 +R 11 +U 8 +R 13 +L 7 +U 5 +R 6 +U 1 +R 6 +D 3 +R 10 +D 11 +U 9 +R 7 +L 3 +R 1 +U 2 +R 15 +L 15 +R 3 +L 8 +D 15 +R 8 +L 1 +R 12 +L 5 +U 15 +D 11 +R 3 +L 12 +D 15 +R 10 +D 11 +R 11 +L 7 +D 12 +L 8 +D 11 +L 11 +D 12 +L 5 +D 8 +R 11 +U 5 +L 7 +R 7 +U 13 +D 2 +U 2 +L 16 +R 15 +L 13 +R 5 +U 8 +L 8 +R 16 +D 12 +R 12 +L 11 +D 8 +L 2 +D 9 +R 13 +L 3 +U 5 +R 11 +U 16 +L 1 +U 14 +L 3 +D 3 +U 1 +D 5 +R 11 +D 4 +L 9 +U 1 +L 9 +R 1 +D 13 +L 9 +U 13 +L 3 +U 9 +D 9 +R 1 +U 13 +D 4 +U 16 +R 15 +L 10 +D 15 +U 6 +D 1 +R 15 +D 8 +R 10 +D 5 +U 7 +R 7 +L 14 +U 1 +D 3 +R 8 +D 7 +L 3 +U 13 +D 14 +R 4 +L 9 +R 13 +D 15 +R 9 +D 14 +R 10 +U 5 +L 5 +U 10 +D 14 +U 8 +D 8 +L 6 +U 1 +R 15 +D 2 +R 6 +L 9 +D 2 +R 11 +U 2 +L 5 +D 9 +R 4 +L 14 +D 9 +R 5 +D 8 +L 9 +R 15 +L 5 +D 1 +L 8 +U 12 +R 14 +L 7 +U 12 +R 3 +D 15 +R 6 +U 9 +L 13 +U 11 +R 9 +U 7 +D 16 +R 14 +L 1 +D 8 +U 8 +R 1 +D 2 +L 4 +U 8 +L 9 +U 17 +L 17 +D 16 +R 1 +U 7 +R 5 +D 1 +R 9 +U 1 +D 6 +L 8 +U 8 +D 14 +L 4 +U 10 +L 17 +R 15 +L 8 +D 3 +U 16 +R 8 +L 11 +R 17 +L 12 +D 11 +L 16 +U 4 +D 13 +U 13 +L 17 +R 12 +U 16 +R 14 +D 10 +U 14 +D 1 +L 9 +U 4 +D 14 +U 7 +L 3 +R 11 +D 17 +L 2 +R 12 +L 4 +U 5 +R 1 +D 2 +R 8 +D 7 +R 10 +D 16 +R 8 +L 2 +D 12 +U 5 +R 4 +D 6 +U 17 +L 11 +D 13 +L 6 +R 17 +U 5 +D 5 +L 6 +R 4 +U 4 +L 6 +U 8 +L 4 +U 17 +R 1 +L 17 +R 17 +L 10 +D 17 +L 11 +U 17 +L 13 +R 15 +L 9 +U 3 +R 15 +L 12 +R 7 +D 13 +U 7 +L 3 +R 2 +U 15 +R 16 +U 2 +D 6 +U 15 +D 3 +R 4 +L 18 +D 6 +L 9 +U 15 +D 12 +R 5 +U 11 +L 5 +D 9 +R 4 +L 11 +R 8 +L 18 +D 2 +L 9 +U 11 +R 4 +U 10 +R 12 +L 7 +U 10 +D 16 +U 1 +L 17 +R 10 +U 3 +R 7 +U 11 +R 8 +D 10 +R 9 +L 10 +D 10 +R 17 +D 13 +U 5 +R 3 +D 4 +R 16 +L 14 +U 14 +R 5 +U 15 +L 16 +U 13 +L 18 +U 2 +L 3 +D 10 +L 15 +D 6 +U 18 +L 16 +D 3 +R 10 +L 14 +D 18 +L 10 +D 14 +U 11 +L 1 +U 17 +R 3 +L 17 +U 6 +D 18 +R 16 +D 14 +L 12 +R 9 +U 2 +R 8 +D 1 +U 3 +D 16 +R 18 +D 6 +R 1 +L 6 +D 14 +U 5 +D 18 +L 3 +U 7 +L 2 +D 12 +L 7 +U 8 +L 11 +R 1 +U 8 +L 10 +D 9 +U 13 +R 1 +L 8 +D 12 +U 8 +R 4 +U 7 +R 11 +L 17 +U 9 +D 13 +R 18 +U 10 +L 19 +D 18 +U 13 +D 16 +U 5 +L 1 +D 6 +R 16 +U 7 +D 14 +R 13 +U 12 +L 18 +R 6 +U 12 +L 18 +R 9 +L 18 +R 18 +D 1 +L 17 +D 9 +U 6 +R 18 +D 15 +R 1 +D 7 +R 9 +D 1 +L 9 +R 4 +D 1 +L 18 +D 1 +U 19 +L 7 +R 11 +U 3 +R 2 +L 10 +U 6 +D 9 +R 14 +D 16 +L 8 +D 12 +R 2 +D 1 +U 19 +L 18 +D 13 +L 18 +R 14 +L 11 +U 17 +D 6 +L 9 +R 3 +U 15 +L 6 +U 12 +R 8 +U 4 +R 3 +U 15 +L 12 +U 10 +L 17 +R 10 +L 4 +R 13 +D 13 +U 18 +D 3 +L 4 +R 1 +D 17 +R 1 +U 19 +L 17 +D 15 +R 17 +U 10 +D 8 +U 11 +L 14 +R 9 +L 1 +R 8 +L 7 +U 8 +R 4 +D 6 +R 5 +U 17 +D 6 +U 6 +L 8 +D 5 +L 19 +D 19 +R 12 +D 3 +U 6 +D 17 diff --git a/09/sample.txt b/09/sample.txt new file mode 100644 index 0000000..9874df2 --- /dev/null +++ b/09/sample.txt @@ -0,0 +1,8 @@ +R 4 +U 4 +L 3 +D 1 +R 4 +D 1 +L 5 +R 2 diff --git a/09/sample2.txt b/09/sample2.txt new file mode 100644 index 0000000..60bd43b --- /dev/null +++ b/09/sample2.txt @@ -0,0 +1,8 @@ +R 5 +U 8 +L 8 +D 3 +R 17 +D 10 +L 25 +U 20 -- cgit v1.2.3-70-g09d2