mirror of
https://github.com/ershisan99/advent-of-code.git
synced 2025-12-18 04:59:24 +00:00
2015 day 6
This commit is contained in:
35
2015/day-6/part-1.py
Normal file
35
2015/day-6/part-1.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import os
|
||||
import re
|
||||
|
||||
file_path = os.path.join(os.path.dirname(__file__), "./input.txt")
|
||||
# file_path = os.path.join(os.path.dirname(__file__), "./test-input.txt")
|
||||
input = open(file_path).read().strip()
|
||||
lines = input.split("\n")
|
||||
|
||||
lights = dict()
|
||||
for i in range(0, 1000):
|
||||
for j in range(0, 1000):
|
||||
lights[(i, j)] = 0
|
||||
for line in lines:
|
||||
match = re.findall(r"(.*?)(\d*,\d*) through (\d*,\d*)", line)
|
||||
if not match:
|
||||
continue
|
||||
instruction, start, end = match[0]
|
||||
instruction = instruction.strip()
|
||||
start = tuple(map(int, start.split(",")))
|
||||
end = tuple(map(int, end.split(",")))
|
||||
for i in range(start[0], end[0] + 1):
|
||||
for j in range(start[1], end[1] + 1):
|
||||
if instruction == "turn on":
|
||||
lights[(i, j)] += 1
|
||||
elif instruction == "turn off":
|
||||
if lights[(i, j)] == 0:
|
||||
continue
|
||||
else:
|
||||
lights[(i, j)] -= 1
|
||||
else:
|
||||
lights[(i, j)] += 2
|
||||
count = 0
|
||||
for v in lights.values():
|
||||
count += v
|
||||
print(count)
|
||||
Reference in New Issue
Block a user