From fdc1e7ef02c611cb23c1ac21255fcdb1d460e199 Mon Sep 17 00:00:00 2001 From: flifloo Date: Sat, 5 Dec 2020 22:12:07 +0100 Subject: [PATCH] Finish day 5 part 2 --- 2020/day 5/P2/binary_boarding.py | 20 + 2020/day 5/P2/input.txt | 757 +++++++++++++++++++++++++++++++ 2 files changed, 777 insertions(+) create mode 100644 2020/day 5/P2/binary_boarding.py create mode 100644 2020/day 5/P2/input.txt diff --git a/2020/day 5/P2/binary_boarding.py b/2020/day 5/P2/binary_boarding.py new file mode 100644 index 0000000..1a79477 --- /dev/null +++ b/2020/day 5/P2/binary_boarding.py @@ -0,0 +1,20 @@ +seats = open("input.txt").read().split("\n")[:-1] +plane = [[i*8+j for j in range(8)] for i in range(128)] +taken = [] + +for seat in seats: + p = plane + for h in seat[:7]: + if h == "F": + p = p[:len(p)//2] + else: + p = p[len(p)//2:] + p = p[0] + for h in seat[7:]: + if h == "L": + p = p[:len(p)//2] + else: + p = p[len(p)//2:] + taken.append(p[0]) + +print(list(filter(lambda x: x not in taken and x+1 in taken and x-1 in taken, range(1024)))[0]) diff --git a/2020/day 5/P2/input.txt b/2020/day 5/P2/input.txt new file mode 100644 index 0000000..19f0d50 --- /dev/null +++ b/2020/day 5/P2/input.txt @@ -0,0 +1,757 @@ +FBBBBBBLRR +FFFBFFFLLR +FFBBBBBRRL +BFFBFFBRLL +BFBFBBFLLR +FBFBBFBLLL +FBFBBBFRRR +FBFFBBBLRR +FBFBBBBRLL +FFFBBFBLLR +FBFBFFFRRL +FFBBBFFLLR +BFFFFFBRRR +FBFFFFFLLR +FFFBBFFRRL +FBBBBBBRRR +FBBFFBBRLR +FBFBFBBRLL +BFFBBFBLLR +FBFFFFBLLR +FFFBFFBRLL +BFBBBBBLRL +BFFBFBFLRR +FFBBFFBRLR +BFFFFBFLRR +BFFFFBBLRR +FBBFFFBLLL +FFBFBFBLRR +FBFBFBBRRL +FFBFBBBLRR +BFFBFFFRRL +BFBFBFBRRL +BFFBBBFRLR +BFBBFBFLLR +FBFBBBFLRL +FBFFBBBRLL +BFFFFBBLRL +BFBBBBBRRR +BFFBFFFLLL +BBFFFBFRRL +BFFBFBBRLL +FFBBBBFLRL +BFFFFFFRLL +BFFFBFBLRL +FFBBFBBLRL +BFBBBBBRLL +FBFFBBBLLL +BFBBFBFLLL +BFFBBBBRRL +FFFBFFBRLR +BFFBFFFRRR +FFBBBBFLLR +FBFBBBFRRL +BFBBFBBRLR +FBFBFFFRRR +BBFFFFBRLL +FBFFBFFRLL +BFBFBBBRRL +FFFBFBBLLL +FBBFBBFLLL +FFBBBBFRRR +FFFFBBBRRR +BFBFFBBRRL +FBBFFFFLRR +BFFBBFBRLL +FBFBBBBRLR +FFBBFBBRRR +FBBBBFFLRL +FFBFBFFRLL +BFFBBFFRRR +FBFBBBFLLR +BBFFBFFLRR +FBBFBFBLRR +FFFFBBBLRR +FBBFFBBLLR +FBBBFBFLRR +BFBBFFBLRL +FFBBFFFRLR +FBFFBFBRLR +FBFFFFFRLL +BFFFBFFRRL +BBFFFBBRRL +FFFBFFBLLL +FFBBFBBRLL +FBBFBBFRRR +FFFBFFFRLL +FFBFFFBRRL +BBFFFBFLRL +BFBFBBFLRL +FFFBFBFLLR +FFBBFFFRRR +BFFBBFBLRR +BFFBFFBLRL +FBBBFFBRRL +BFBBBFBRLR +BFFFBBBRRR +BBFFFBFRLR +FBFBFFBLLR +BFFFBFBLLL +FFBFFFBLRR +FFBBFFFRLL +BFFFBFFRRR +FBBFBFBRRR +BFBBBBFLLR +FBBFFBBRRL +BFFBFBBRRL +BFFBFBBLRL +BFFFBFBRRL +FFFBFBFRRL +FBFFFFBLRR +BFBBBFFRLL +FBBBFFFRLL +FBFFFFFLLL +BFBFFBBRRR +FBFBFFFLRL +FFFFBBFRLL +FBFFFBBLRR +BBFFFBFLLR +FBBBFFFLRL +FFBBFBFLRL +BFFFBBBLRR +BFFBBBFLRR +BBFFFFBRLR +FFBFBBFLRR +FFFBBBBRRL +BFBFFFFLLL +FBFBBFBLLR +FBBBBFFRRL +FFBFBBFRRL +FFFFBBFRRR +BFFFBBBRRL +BFBBFBFRRR +BBFFFBBLRR +BFBBBFBLRR +BFFBBBBLLL +BFBFFFBRLL +FBBBFBBRRL +FFBBBFBLLL +BFFBFBFLLL +BFBBFFBRRR +BBFFBFFLLR +BFBBBBFRRR +BFFFBBFLRR +BFFFFBBLLR +FFFBFFBLRL +BFBBFBFRRL +FFBBFBFLLL +BFFFFBFLLL +BFBFBBFRRL +BFFBFFFRLR +FBBBFFBRLL +BFBBBBFLLL +FBFFBFFRRR +BFFBFFBRRR +FBBBBBFRLL +FBBFBBBRRL +FBFBFFFRLR +FFFBFBBRLL +FFFBBFFRLR +BFBBFBBRRL +FFBBBBFLLL +BFFBFFBLLL +FBFBBFFRLL +FBBBFBFLLR +BBFFFFFRLL +FFBFBBBRRL +BFBFFFBRRR +FBBFFFFRLL +FBFBFBBLRL +FFBBFFFRRL +FBBBFFBLLL +FBBFFBBLRR +BFBFBBBRRR +BFBBBBBLRR +FBBFBFBRLR +FBBBBFBRRL +BFBFFBFRLL +FFBFBBBRLL +FFBFFFFRLL +FBFFBFFLLR +BFBBBBBLLR +FFBFFBFRLL +FBFFFBFLRL +BFFFFBFRRL +FFBBFBBLRR +BFBFFBFLRR +FBBBBFBLLL +BBFFFFFRRL +BFFBFFBRLR +BFFBBBBRRR +FFFBFFBLLR +BFFBFBBRRR +FFFBFFBLRR +FFBBBFBRLL +FFBFFFBRRR +FBFBBFBLRR +FBFFFFBLLL +FBFBFBBRRR +BFFBFFFLRL +BFBBBFFRLR +FBFBFBBLLR +FFFBBFBLRR +BFFBFFFLLR +BBFFFBBLLR +BFFFBBBLLR +BFBBBBBRLR +FBFFFBFRRR +BFBFBFFLRR +FBBBBBBRLL +FFFBFFFLRL +BBFFFBFRLL +BBFFBFFLRL +FBFFFBBLLL +BFFBBBFLLL +BFBBFBFRLR +BFBFBFBLRR +FBBFFBFRRR +FFFBFFBRRR +BFBBBBFLRL +FBBBFBBLLR +FFBBBBBRLR +FFFBBBFRLR +FBBFFBFLLL +FFFBFBBLRR +BFBFBBFLRR +BBFFFBBLLL +FBBBBBFLRR +BBFFFBFLLL +FBFBBFBRRR +FBFFBBFLLR +FFFBBFBRRR +BFBFBBFRLR +FBFBBFFLRL +FFBBBFBRRL +FFBFFBFRRR +BBFFFFFLLL +BFBBFFFRLR +FBFFFFBRRR +FBBFBFFRRL +FBBFBBFRLR +FFFBFFFLRR +FBBBFFFRRL +FFBBBBBLLR +BFBBBFBLLL +FBBBBBFLLL +FFBBFBFLRR +BBFFFFBRRL +FFBBBFFRRR +FBFBBFBRLL +FBBBBBBLRL +BFBFFFFRRL +FBBFBBBRLR +FBBFBBBLRR +FBFBFBFRRL +FBBFBFFLLL +FFFBFBFLRR +FBFBBFFRLR +BFFFBFFLLR +BFFBFBBRLR +FFBBBBBLRR +BFFFFFBLLR +BFFBBBBLLR +FBFBBFBLRL +BFFBFFFLRR +FFFBFBFRLR +BFFBBBBLRR +FFFBBFFLLR +FBFFFBBRRR +BFBBBFFRRL +FFBBBFBRRR +FBBBFBBLRL +BFBBFFFLLR +BFFFFFBRRL +BFFBBBBLRL +FBBBBBFLLR +FFFFBBFLRR +BFBBFBBLLL +FFFBBBFRLL +BFBFFFFRRR +BFFBBFBRRL +FBFFFBBRLL +BFFFFBBRRL +BFFBBFFLLL +FFFBFBFRRR +FBBBBBFLRL +FFBFFBBLRR +FFBBBFBLRR +FFBFFFBLLR +FBBFFBFRRL +BFFFFBBLLL +BFFFBFFRLR +FBBBFFFRRR +BFBFFBFRLR +FBFBFFBLLL +FBFBBBFRLL +FBBFBFBRRL +FFFBBFFRRR +FFFBFBFLRL +FBFBFFFRLL +BFFBBBFRRL +FBFFBFBLLR +BFFFFFFRRR +BFFBFBFRLR +FFBBFFBLRR +FBFFBFFLRR +FBBBFFBRRR +FFFBBBBLLL +FBBFBBBLLR +BFFFFBFLLR +BFFBBBBRLR +BFFBBBFRRR +FBBBFFFLLL +BFBFFFBRRL +FBFFBFBLRL +BFBBBFFLLL +FBBBFFBLRR +FBBFBFFRLL +BFBFFBBRLL +BFBFBFFLLR +FBFFFFFRLR +FFFBBBBRLR +FFFFBBBRLR +BFFFBFFLRL +FBBFFFBLLR +FFBFBBFLLR +FFBBFBBLLR +FBBBFBFLLL +FBFFBFBRLL +FBBFBFBLLR +FFBFBFFRLR +FFFFBBBRRL +BFBFFBFRRL +FBBBBFFRLL +BFFBFBFRRL +BFBBFFBRRL +BFFFBFBRLR +FFFBFFBRRL +FFBFFBFRLR +BFFFBBBRLL +BFBBBFBRLL +FBBFBFFLRR +FFBBFBFRLR +BFBFBFBRLR +FBFFFBBRLR +BFFFFFBLRL +FBBFFFFLLR +BFFBFFFRLL +FBFBBBBLRL +FBFBFBBLLL +FBBBBFBLRR +FBBFBFBLRL +BFFFFBFLRL +FBFFBFBLRR +FBFFBBFLLL +BBFFFFFLRL +BFBFFFFLRR +BFBFBFFRRR +BFBBFBBLRR +FFFBBBFLLR +BFFBBFFLLR +FBBFFFFRRL +FBFFBBBRLR +FBBFFBBLLL +FFFFBBBLLR +BFBFBFFLRL +FFBFFFFRRL +BFBFFFBRLR +BFBFFFBLRR +FBFFBBFRLR +FBBBBFFLRR +FBFBFBFLRR +FFBBBFFLRR +FFBFFFFRRR +BFFFBFFLLL +FBBBBBBLLR +BFBFFFBLLL +FBFBFBBLRR +BBFFBFFRLR +FBFFBFFRLR +FFBBFFBLLR +FBBBBFBRRR +FFFBBBFLLL +FFBFBBFRLR +FBBBFBFRRR +FBFBBFBRLR +FBFFFBFRRL +FFFBFBFRLL +FBBFFFBRLL +FBBBFFFLRR +FFBBFBFRRR +BFBBFBFLRR +BFBFFBBLRL +FFFFBBFLLR +BFFBBFFRLL +FFFBBBFRRL +BFBBBFBRRR +FFBFBBBLRL +BBFFFFBLRL +BFFFFFFLRR +FFBFFBBRLL +FBBBFBBRLR +BBFFFFFLLR +FBFBFBFRRR +FBBFFBBRRR +FBBFFFBRRL +BFFBFBBLLL +FFBBBBFRLL +FFBBFFBLRL +FFFBBFFLLL +FFFBBBBLRR +FFBFBBBRRR +FBBBBFBRLL +FBFFFFFLRR +BBFFFFBLLL +FBFBBFFLLR +BFFFBFBLRR +BBFFFFBRRR +FBBFBFFRLR +BFBFBFBRLL +FFBBBFFRLL +FBFFFBBLRL +FFFBBFFLRR +BFBFFBBLLL +BFBFBBBLLR +FBBBBBFRRL +FFFFBBFRLR +FBBFBFBRLL +FFBFFFFRLR +BFBBFFFRRR +FFBFBBFLRL +BFBFFFFLLR +BFFFBBFRRL +FBFFBFFLLL +FBBBFBFRRL +FBFBFBFLLR +FBBFBBBRLL +BFFFFFBRLL +FBFFBBFRLL +BFBBFFBRLL +BFFBFBBLLR +BFFFFFFLLR +FBBBBFBLRL +FBFBBBBLRR +FFFFBBBLLL +FBBBFFFRLR +FBBBFBFLRL +FFFBFFFRLR +BBFFFBBRLR +BFBFBBBLRR +FFBFFBBRRR +FFFBFBBRRR +FBBBBFFLLL +BFBBBBBLLL +FFBFFFFLRL +BFBFFBBLRR +FFBFBFBRLL +FBBFBBBLLL +FBBFBBFRRL +BBFFFBFLRR +FBFFFFBRLR +FBBBBBFRRR +FFFBBFFRLL +BFBBFBBLRL +FFBFFFBRLR +FBBFFFBRRR +FFFBBFBRRL +BFBBBFFRRR +FBFBFFBLRL +FFBFFBBRRL +BFBFFFFRLL +FBBBFBFRLL +FBFBFFBLRR +FFFBBBFRRR +FBFFBBBLRL +BFFFBBBLRL +BFBBFFFLRR +BBFFFBBLRL +FBFFBBFRRL +BFBBBFBLLR +BFFBFFBRRL +FFBBBFFLRL +FFBFBFBRLR +BFFBFBFLLR +BFFFFBBRLL +FFFFBBFLRL +BFFFBBBLLL +FBBFFFBLRL +BFFFFBFRLL +BFBBFBBLLR +FBBFBBFLRL +FBBFFBFLRL +FFFFBBFRRL +FBFFBBBLLR +FFBBBFFLLL +FFBFBFFLRR +FBFFBBFLRR +FFBFBBBLLL +BFFBBBFRLL +FBFFFBFLLR +BFBBBBFLRR +FBFBFFFLLL +FFFBFBBLLR +FFFBBFFLRL +FBBBFBBLRR +FBBBFBBRLL +FFBBBFFRLR +BFBFFFFRLR +FBBFFBBLRL +FBFBFFBRRL +BFBBBFFLRL +FFBBBBBLRL +FBBBBFFRLR +FFBBFFFLLL +FBFFFFFLRL +FFFBFFFRRL +BFFFBBFRLR +FFFBBFBLRL +FBBFBBBRRR +FFFBBFBLLL +BFFFFFFLLL +BFBFBBFRLL +BFFFBFFRLL +FFBBBBFLRR +FFFBBBBRLL +FFBFBBFLLL +BFBBFFBLRR +FBFFFBFLRR +BFBBFFFLRL +FFBBFBBRLR +BFBFFBFRRR +FBBFFFBLRR +BFFFFBFRLR +FBFFFBBLLR +FBFBFFFLLR +FBBBBFFRRR +FBBFFFFLLL +FFBFFBBLRL +FFBBBBBRLL +FFBFBBBLLR +FBFFBFFRRL +FFBFFBBLLR +BFFFBBFLLL +FFBBFFBRLL +FFBFFBFLRR +FFBFFBBLLL +BFBBBFFLLR +FBFBFBFLRL +FFBBBBFRLR +BFBBFFBLLR +BFFFFFBRLR +FBFFFFBRLL +FBFBFFBRLR +BFFBBFBLLL +BBFFBFFRLL +BBFFFFFLRR +BFFFFBFRRR +BFBFBFBLLR +BFFFFFFLRL +FFBBFBBLLL +FFFBBBFLRR +FBBFFBFRLR +BBFFFBBRLL +FBBFBFFLLR +FBBFFBFLRR +BFFFBFBRLL +BFBFBFFLLL +FBFFBBBRRL +FBBBFBFRLR +FFBFFBFRRL +BBFFBFFRRL +FBBFFFBRLR +FFFFBBBRLL +BFBBFFFRRL +BFBBBBBRRL +BFBBFFFLLL +BFFBBBFLLR +FBFFFFFRRR +FBFBBFFRRL +FBBBFBBRRR +FBFBBBBLLL +BFFFFBBRLR +FFFBFBBRLR +BFFBFFBLRR +FBBFFFFRLR +FBFFBBFRRR +FFFBFBFLLL +BBFFFFBLRR +FBFBBBFLRR +BFBBBBFRRL +FFBBFFBRRL +BFFBBFBRRR +FFBFBBFRRR +FBFFFBBRRL +FBFBBFFLLL +BFFBFFBLLR +FBBFBFFRRR +FFFBBBFLRL +BFFBBBFLRL +FBFFFBFRLR +BFFFFFFRRL +FBBBFFBLLR +FBBBBBFRLR +BFBFFFBLLR +FFBBFBBRRL +BFBBFBFLRL +FBBBBBBRLR +BFFBFBBLRR +FBFFBBFLRL +FBBBFFBLRL +FFBBFBFRLL +BFBBBFBRRL +FBFBFFBRRR +FFBFBFFLLR +FFBFFBFLLL +FFFBBBBRRR +FBFFBFBRRL +FFBFFFFLRR +FFFFBBBLRL +FFBBBBBRRR +FFBBFFBRRR +FFBFBFBRRL +FFFBBFBRLR +BFBBFFBRLR +BFBBFBBRLL +FFBFFFBLLL +FFBBFFBLLL +FBBFFFFLRL +FFFBFFFLLL +BFBBFBFRLL +BBFFFBFRRR +FFFBBFBRLL +BFBBFFBLLL +FBFBFBBRLR +BBFFFBBRRR +FFFBBBBLRL +FFBFBFFRRL +FBBBBFBLLR +FBBFBBBLRL +BFBFBBBLLL +FBBFFBFLLR +BFBFBBBLRL +FFFBFFFRRR +FFBFFBFLRL +FBFBFBFRLL +FBFBBBFRLR +FBBBFFFLLR +FFBFBFFLRL +BFFBFBFRRR +FBBFBFBLLL +BFBBBFFLRR +FFFBFBBLRL +FBFBFBFLLL +FFBBBBBLLL +FBBFBFFLRL +FFBBFFFLRL +FBFBBBBRRR +BBFFFFBLLR +FFFBBBBLLR +BFFFBFBRRR +FBFFFFBLRL +FBFFFBFRLL +BBFFFFFRRR +FFBFFFFLLR +BBFFBFFLLL +FBFFBBBRRR +BFBBBBFRLR +BBFFFFFRLR +FBFBBFBRRL +FBFFFBFLLL +FBFBFFFLRR +FFBFFFBLRL +BFFFBBFLLR +FBFBFFBRLL +FFBBBFFRRL +FFBBBFBLRL +BFBFBBFLLL +BFBFBFBLRL +FBFBBBBLLR +FBBBBFFLLR +FFBBFBFLLR +BFBFBFFRLL +FFBBFBFRRL +FBBBFBBLLL +FFBBFFFLRR +FBFFBFBRRR +BFFFFFFRLR +BFBFBBFRRR +FBBBBBBRRL +FFBFFBFLLR +FFBFBBFRLL +FFBFBFFLLL +BFFFFFBLLL +BFFFBFBLLR +FFBBBFBLLR +FBBFFBFRLL +FBFBBBFLLL +FBFFFFFRRL +BFFBBFFRRL +BFBFFBFLLR +BFBBFBBRRR +BFFBBFFLRR +FBBFBBFRLL +FBBBBFBRLR +FFBFBBBRLR +FFFBFBBRRL +BFBBBBFRLL +FBFBBFFRRR +BFFFBBFRLL +FBFFBFBLLL +FBBFBBFLRR +BFBFFBFLRL +BFBFBFFRLR +BFBBBFBLRL +FBFFFFBRRL +FBBFFFFRRR +BFBFBFBLLL +BFBFBBBRLR +FBBFFBBRLL +BFBFFFFLRL +FFBFFFFLLL +FBFBFBFRLR +BFFBFBFLRL +FBFFBFFLRL +BFFFFFBLRR +FFBBFFFLLR +FFBFBFBLRL +BFBFFBFLLL +BFFBBFBRLR +FFBFFFBRLL +BFBBFFFRLL +BFFFFBBRRR +BFFBBFFLRL +FBFBBBBRRL +BFBFFBBLLR +FFBFBFBLLR +BFBFFBBRLR +BFBFBFFRRL +FBBFBBFLLR +BFBFBBBRLL +FBBBBBBLLL +BFFBBFFRLR +BFFFBBBRLR +FBFBBFFLRR +FBBBFFBRLR +BFBFFFBLRL +BFFFBFFLRR +FFBFFBBRLR +FFBFBFBLLL +BFFBBFBLRL +BFBFBFBRRR +FFBFBFBRRR +FFBBBBFRRL +FFBBBFBRLR +BFFBFBFRLL +BFFFBBFRRR +FFBFBFFRRR +BFFBBBBRLL