Kaynağa Gözat

Solve 2020 day 5

Taddeus Kroes 5 yıl önce
ebeveyn
işleme
2cf6126b95
2 değiştirilmiş dosya ile 831 ekleme ve 0 silme
  1. 7 0
      2020/05_boardingpass.py
  2. 824 0
      2020/input/5

+ 7 - 0
2020/05_boardingpass.py

@@ -0,0 +1,7 @@
+#!/usr/bin/env python3
+import sys
+
+tr = str.maketrans('FBLR', '0101')
+seats = sorted(int(line.translate(tr), 2) for line in sys.stdin)
+print(max(seats))
+print(next(s + 1 for i, s in enumerate(seats[:-1]) if seats[i + 1] == s + 2))

+ 824 - 0
2020/input/5

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