[2021] solve day 5 python
This commit is contained in:
parent
fdb2825251
commit
51705d963f
|
@ -33,11 +33,11 @@ def find_points_in_line(x1, y1, x2, y2, skip_diagonal: bool = False) -> Iterable
|
|||
return zip(range(x1, x2 + 1), range(y1, y2 + 1))
|
||||
|
||||
|
||||
def solve1() -> int:
|
||||
def solve1(skip_diagonal=True) -> int:
|
||||
visited_pts = set()
|
||||
crossed_pts = set()
|
||||
for (start, end) in loader():
|
||||
for x, y in find_points_in_line(*start, *end, skip_diagonal=True):
|
||||
for x, y in find_points_in_line(*start, *end, skip_diagonal):
|
||||
if (x, y) in visited_pts:
|
||||
crossed_pts.add((x, y))
|
||||
else:
|
||||
|
@ -45,5 +45,10 @@ def solve1() -> int:
|
|||
return len(crossed_pts)
|
||||
|
||||
|
||||
def solve2() -> int:
|
||||
return solve1(skip_diagonal=False)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(solve1()) # 5690
|
||||
print(solve2()) # 17741
|
||||
|
|
Loading…
Reference in a new issue