master
1import pprint
2import re
3
4def read_input():
5 with open("input/d05p1.txt") as f:
6 return f.readlines()
7
8def parse(line):
9 line = line.strip()
10 row = int(line[:7].replace("B","1").replace("F","0"),2)
11 seat = int(line[7:].replace("R","1").replace("L","0"),2)
12 return (row * 8 ) + seat
13
14input_lines = read_input()
15seat_ids = set(parse(line) for line in input_lines)
16
17print("p1:", max(seat_ids))
18missing_seats = set(range(min(seat_ids),max(seat_ids))) - seat_ids
19print("p2:", list(missing_seats)[0])