28 lines
909 B
Python
28 lines
909 B
Python
from lib import *
|
|
|
|
input = read_input(2018, 3)
|
|
|
|
import re
|
|
|
|
G = [[0 for _ in range(1000)] for _ in range(1000)]
|
|
for line in input.splitlines():
|
|
offx, offy, wid, hei = map(int, re.match("^#\d+ @ (\d+),(\d+): (\d+)x(\d+)$", line).groups())
|
|
for x in range(wid):
|
|
for y in range(hei):
|
|
G[offx + x][offy + y] += 1
|
|
print(sum(x >= 2 for row in G for x in row))
|
|
|
|
|
|
claims = input.splitlines()
|
|
|
|
G = [[0 for _ in range(1000)] for _ in range(1000)]
|
|
for line in claims:
|
|
offx, offy, wid, hei = map(int, re.match("^#\d+ @ (\d+),(\d+): (\d+)x(\d+)$", line).groups())
|
|
for x in range(wid):
|
|
for y in range(hei):
|
|
G[offx + x][offy + y] += 1
|
|
for line in claims:
|
|
id, offx, offy, wid, hei = map(int, re.match("^#(\d+) @ (\d+),(\d+): (\d+)x(\d+)$", line).groups())
|
|
if all(G[offx + x][offy + y] == 1 for x in range(wid) for y in range(hei)):
|
|
print(id)
|
|
break
|