31 lines
822 B
Python
31 lines
822 B
Python
import re
|
|
pattern = re.compile(r'(\d+)-(\d+),(\d+)-(\d+)')
|
|
|
|
with open('input/4', 'r') as file:
|
|
lines = file.readlines()
|
|
|
|
count = 0
|
|
for group in lines:
|
|
x1, y1, x2, y2 = (int(x) for x in pattern.findall(group)[0])
|
|
if (x2 >= x1) and (y2 <= y1): # Elf2 inside Elf1
|
|
count += 1
|
|
continue
|
|
if (x2 <= x1) and (y2 >= y1): # Elf1 inside Elf2
|
|
count += 1
|
|
continue
|
|
print(count) # Part 1
|
|
|
|
count = 0
|
|
for group in lines:
|
|
x1, y1, x2, y2 = (int(x) for x in pattern.findall(group)[0])
|
|
if (x2 >= x1) and (y2 <= y1): # Elf2 inside Elf1
|
|
count += 1
|
|
continue
|
|
if (x2 <= x1) and (y2 >= y1): # Elf1 inside Elf2
|
|
count += 1
|
|
continue
|
|
if (x1 <= x2 <= y1) or (x1 <= y2 <= y1): # Partial overlap
|
|
count += 1
|
|
continue
|
|
print(count) # Part 2
|