25 lines
602 B
Lua
25 lines
602 B
Lua
local lines = {}
|
|
|
|
for line in io.lines() do
|
|
table.insert(lines, line)
|
|
end
|
|
|
|
local function count_trees(right, down)
|
|
right = right or 1
|
|
down = down or 1
|
|
local count, iteration = 0, 1
|
|
for index = 1,#lines,down do
|
|
local pos = ((iteration - 1) * right) % lines[index]:len() + 1
|
|
if lines[index]:sub(pos, pos) == "#" then
|
|
count = count + 1
|
|
end
|
|
iteration = iteration + 1
|
|
end
|
|
return count
|
|
end
|
|
|
|
local part1 = count_trees(3)
|
|
local part2 = count_trees() * part1 * count_trees(5) * count_trees(7) * count_trees(1, 2)
|
|
print(part1)
|
|
print(part2)
|