Phil %!s(int64=5) %!d(string=hai) anos
pai
achega
d7f1843ea6
Modificáronse 2 ficheiros con 806 adicións e 0 borrados
  1. 757 0
      5/input.txt
  2. 49 0
      5/main.py

+ 757 - 0
5/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

+ 49 - 0
5/main.py

@@ -0,0 +1,49 @@
+file = open('input.txt','r')
+
+passes = file.readlines()
+
+def getRow(code):
+    high = 127
+    low = 0
+    for c in code:
+        #print('Row Char: '+c)
+        if c == 'F':
+            high -=int( (high - low) / 2)
+            #print('high: '+str(high))
+        else:
+            low +=int( (high - low) / 2)
+            #print('low: '+str(low))
+    if code[-1] == 'F':
+        return high
+    else:
+        return low
+
+def getSeat(code):
+    high = 7
+    low = 0
+    for c in code:
+        #print('Row Char: '+c)
+        if c == 'R':
+            high -=int( (high - low) / 2)
+            #print('high: '+str(high))
+        else:
+            low +=int( (high - low) / 2)
+            #print('low: '+str(low))
+    if code[-1] == 'F':
+        return high
+    else:
+        return low
+
+
+
+maxSeat = 0
+for p in passes:
+    row = getRow(p[:7])
+    column = getSeat(p[7:10])
+    seatID = row * 8 + column
+    #print('row: '+str(row))
+    #print('col: '+str(column))
+    #print('seat: '+str(seatID))
+    if seatID > maxSeat:
+        maxSeat = seatID
+print(str(maxSeat))