summaryrefslogtreecommitdiff
path: root/5
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2022-12-01 22:30:22 +0100
committerBond_009 <bond.009@outlook.com>2022-12-01 22:30:22 +0100
commitbaf4910870a6e8999802b9a4a22eabd4142a34e3 (patch)
tree2d11443dc21e53bd0d99d015cf789937d6d95862 /5
parent49d0c908f24b2c193c9deed1716fe36061ba26a1 (diff)
Move all Advent of Codes into one repo
Diffstat (limited to '5')
-rw-r--r--5/input781
-rw-r--r--5/part1.c82
-rw-r--r--5/part2.c95
-rw-r--r--5/part2_fast.c90
-rw-r--r--5/seat_id.asm25
-rw-r--r--5/seat_id_ssse3.asm23
6 files changed, 0 insertions, 1096 deletions
diff --git a/5/input b/5/input
deleted file mode 100644
index 5145d8e..0000000
--- a/5/input
+++ /dev/null
@@ -1,781 +0,0 @@
-FBFFBFFRLL
-BFFFFBBRLR
-FFFBBBBRLR
-FBFFFBFLRL
-FFBFBFFRRL
-FFBBBBFRRR
-FBFFBFBLRR
-FFBBFBFRRL
-FFFFBBFRRL
-BFBBBBBLLL
-FFBFBFBLLL
-FFBFFFBLLL
-FBBBFBFRLL
-BBFFFBFRRR
-FFFBFBBLLR
-FBFBFBFRRR
-BBFFBFBRLL
-FBFBBBBLRL
-FBFFFFFLLL
-BFFFFFFRLL
-BFFFBFBLRL
-BFBBBFBRRL
-BFFFBFFRRL
-FBFFFFFRRR
-FFBBBBBLLR
-BFBBFFBLRL
-FBBFBBBRLR
-BFBFBFFRLL
-BFBFBFBRLL
-BFFBFBFLLL
-FFBBFFBLRL
-FBBFFBFLRR
-FBBBFBBRRR
-BFBFFBFRLR
-BFBBBFBLLL
-FFBFBBBLRR
-BFBFFBFLLL
-FBFBFBBLLL
-BFBBBFBLRL
-FBFBFBFLRL
-FFBFFBFRRL
-FBBFFBFLLL
-BFBBBBBLRL
-FBBBBBFRLR
-BFFFBBFRLL
-FBBBBFFLLR
-FBBBBBFRLL
-BFBBBFFRLR
-BFBBBFBRLL
-BFFFBFFLLL
-FFFBFBFLRL
-BFFBBFFLRL
-BBFFFBFRLL
-BFBBFFBRLR
-BFBFBFBRRL
-BBFFFBFRRL
-FBBFBBBLRR
-FFBFBBBLLL
-BFFFBFBRLR
-FFBBFBBLLL
-FBFBBFBLLL
-BFBBFBFLLR
-FFBFBBBRRL
-FFBFFFFLRL
-FFFBBFFLRR
-FBBBBBFRRR
-FFFFBBBRLL
-BFBFBBBRRR
-BBFFBFBRRL
-FBFBBFFRLR
-FBBFFBFRRR
-BBFFBFBRRR
-FBFBBFBLRR
-FBBFFBBLRR
-FBBBBFFRLL
-BFBFFFBRLR
-FBFBBFBRRL
-FFBFBBFRRR
-FBFBFFFRLL
-BFBBFFBLLR
-FBFFFFBRLR
-BFBBBFFRLL
-FFBBFFBRLR
-FFFBBFBRLL
-FBBBBBBLRR
-FBFFBBBLRR
-BFFFFBFLRL
-BBFFFFFLRR
-BFFBFFBLLR
-FFBBBFFRLL
-BFBFBFBRLR
-FBBFBFBLRR
-FBFBBBFRLR
-FBFFBBBRRR
-FBBFFBFRLL
-FBBBFFFRLR
-BFBBBBFLLR
-BFFFBFFLLR
-FFBFFFBRRR
-FBFFFBFLLR
-FFFFBBBLLR
-BFBFFFBRLL
-BFFBBFBLRL
-BFFBFBFLLR
-FFBFFBFRLR
-BFBFFFBRRL
-FFBBFBFLLL
-BFBBBBBRLR
-BFBFBFBLRR
-FBFFBFBLLR
-FBFBFBBRRL
-BFBFBBBLLL
-FFBBFBBLRL
-FBFFFBFRRL
-BFBBFFFLRR
-BFBFBBFRRR
-FBFFFFBLRL
-BBFFBBFRRR
-FFBFFBBRLR
-FBBFBFBLRL
-BFBFFFBRRR
-FFFBBBFLRL
-BFFBFFBRLL
-FBFBFFBLRR
-FFBFBBFLLL
-FFBBBFFLRL
-FFBBFFFRLR
-BBFFBFBLRL
-FFFFBBFRLR
-FFFBFFBLRR
-BFFBBBFLLR
-BFFFBBBRRL
-FBBFBFBRLL
-BFFBFFFRRR
-BBFFFFFLRL
-BBFFFBBRLL
-BFFFBBBRRR
-BFFFBBBLRL
-BBFFBFFRRR
-BFFBFFBLRL
-FBBBBFBRLR
-FFFBFBFRRL
-BFFBBBBRRL
-FBBBBBFLRR
-FBFBBBBLLR
-FBBBBFBLRR
-FFFBFFBRLL
-FFBBBBFLLR
-FFBBBBBRRL
-FBBFFFFLLL
-FBFFBBBRLL
-FBFBFFBLLR
-FBBBBBFRRL
-BFFFBFBLLL
-FFFBFFFLRL
-FFFFBBFRLL
-BFBBFFFRLR
-BFFFBBBRLR
-FFBBBFBLLR
-BFFFBFBRRR
-BFFBFBBLRL
-FFBFBFBLRR
-FBBBBFBRRR
-FFBFBFFLLR
-BBFFFFFLLR
-FBBBFBFRRR
-BBFFFFBRRL
-FBFBFBBLRL
-BFBBBFFLLR
-BBFFBBFLRL
-BFBFFBBRLR
-FBFBBBFRRL
-FBBBFFBRLL
-BBFFFFBLLR
-FFBBFBBLRR
-FBBBBBBRLR
-FFFFBBBRRL
-FBFBBBBRLR
-BBFFBFFRRL
-FBBBFFBLRL
-FFBBBFBLRR
-BFBFBBBRLL
-FBFFFBBLRL
-FBFBBBBRLL
-BBFFFBBLLL
-BFBBFFBLLL
-BFFBBBBRRR
-FBFBFFBLLL
-FBFBFBFRRL
-FBBFFFBLLL
-BBFFFBFRLR
-FBBBBFFLRR
-FBFFFBBRLL
-FFBBFBFRRR
-FBFFFFFLRR
-BFBFFBBLRR
-FFBFBFFRRR
-BFBFFBBRLL
-FBBFFFFRRL
-BFFBBFBRLL
-BFFFFFBLLR
-FBFBBFBLLR
-BFFBBFBRLR
-BFFBFBFRRR
-FFBFBBFRLL
-FFFBBBBLRR
-BFFFBFBLLR
-FBBBBFBLRL
-FBFBBFFLRL
-FFFBFFFRLL
-BFFFFBBRRL
-FBBFFFBRRR
-FBBFBFFLLR
-BFBBBBBRRR
-BFFBFBFRLL
-FFBFBBFRRL
-BFBFBFBLLR
-FFBFBBFLLR
-FFBFFFFLRR
-FBBBFBBRRL
-BFFBFBFRLR
-BFFBFFBRRL
-BFBBBFBRLR
-BBFFFFBLRL
-FBBBFFBRRL
-FBFFFBBRRL
-FBBBBBBLLL
-FFFBFFBLLL
-BFBBFBFRLL
-FBFBFFBRLR
-FFFFBBBRRR
-BBFFFBBRLR
-BFBBBBFRLR
-FBFFBBFLRR
-BFFFBFFRLR
-FFFBBBBLLR
-FBFFFFBLRR
-FBFBFBBRLL
-FBFFBBBRLR
-BFFFFFFLRR
-FBFFFFFRLL
-FFBFBFFRLL
-FFFBBFFRLR
-FBBFBFFRRL
-FBBBBBBRRR
-BFBFBBBLRL
-BBFFFFBRRR
-FFBFFBBLRL
-FBBBBBBLLR
-FFBBFFFLRL
-FBBBFBBLRR
-FFBBBBBRLR
-BFBFFFFLLR
-BFFBBBBRLL
-BFBFBFFLRL
-FBBFFFBLRL
-BFBFBBBRRL
-BFBFBFBLRL
-BFBBFBFLRR
-BFFFFBFRLR
-BFFFBFBRLL
-FBFBFBFLLL
-FBFFBFFLRL
-BFFFFFFRRL
-FBBFBFFRLR
-FFBBBFFLLR
-FBBBBFFLRL
-FBBBFBBRLR
-BFBBBFFLRL
-FBFFBBBLRL
-BFFFFBFRRL
-BFFFBFFLRR
-FFBFBBFLRL
-BFBFFFBLRL
-BFFFFFBLLL
-FBFFBFBLLL
-FBFBBBBRRL
-FBBFFBBRLR
-BFFFBBFRRL
-BFBBFBBRLR
-FFFBFBBLRR
-FFFBFBFRLR
-FBFBFBFRLR
-BFBFBBBRLR
-BFFFFBBLLL
-BFFBBFBRRR
-BFFBBBFLLL
-FFBBBFFRRL
-BFBBBFBLLR
-FBBFFBBLLR
-FBBFBBFLRL
-BFFFFFBRRR
-FBBBFBBRLL
-FBFBFFBRRR
-BFFBBBFRRR
-FBBBBBBLRL
-FFBBBFFLRR
-BFFBBBFRLL
-BBFFBBFRLL
-FBBFBBFRLR
-BFBFBFFRRR
-BFBFBBFLRL
-BFFFFBFRLL
-FFBBFBFLLR
-BFFBFBBLRR
-FBFFBBBRRL
-FBBFBBFRLL
-FBFFFBBLLR
-FFFBBBBRRR
-FFFFBBBLRL
-FFBBFFFRRL
-BFFBBFFRRL
-BFFFBBFLRL
-BFFFFBBLRR
-BBFFBBBLRR
-BFBFFFFLRR
-FBFBBBBLLL
-BBFFFBBLRR
-FFFBFBFLRR
-FBBFFFFLRL
-FFBBBBFRLL
-FBFFBFBLRL
-BFBBFBBLLL
-FBBFBBFLLL
-FFBFFBBRLL
-BFBFFFFRLR
-FBFFBBFRRR
-FFFBBFFRRR
-FFFBFFBRLR
-FBBBBBFLLL
-FBBBFFFLRL
-FFBBFFFLRR
-FFFBBBBRRL
-BFBFBBFRLL
-BFBFFBBRRL
-FBBFBBFRRL
-BFBFBBFLLR
-BBFFBBBRRR
-BFFFBBFRLR
-FFFBBBFRLR
-BFFBFFFRLL
-BFBFFFFRRL
-FFBBFFFLLL
-FBFBBBBLRR
-FBFBFFFLRR
-BBFFBFFLRR
-FBBBFBBLRL
-BFBFBFBLLL
-FBFBFFFLLR
-BFFBBFBLRR
-FBBFFFBRRL
-BFFBBFFRRR
-FBBFBBBRRL
-BFFFFBBLLR
-FFBBBBFLLL
-BFFBFFBRRR
-BFFFFBFRRR
-FFFBBBFRRR
-FBFBFFFRLR
-FBBBFBFLLR
-FFBBFFBRLL
-FBFBFFFLLL
-BFFBFBFRRL
-BFBFFBFRRL
-BFBBBBFLLL
-FBBBFBFRRL
-FFBFBFFLLL
-BFBBFFFRRL
-FFBBFFBLLR
-BFFBBBBRLR
-FFBBBBBLRR
-BFFBFFFRRL
-BFFBFBBRLL
-FBBBFBFRLR
-FBBFFFFLRR
-BFFFBBFLLR
-FFFBBFBRRL
-FFBBFFBLRR
-FBBFFFBRLR
-BFBBBBBRLL
-BBFFFFFRRL
-FFBFFBBRRL
-BFBFFBFLLR
-FBFBBBFLLL
-FBFFFFFRRL
-BFFFBFBLRR
-FBFFFFBLLR
-FBBFBFBRRR
-FBBBFFFLLR
-BBFFBFBLRR
-BBFFFBFLLL
-FBFFFBFRLR
-BFFFBFFLRL
-BBFFBFFLRL
-BFFFFFFLLR
-BBFFBBBLLL
-FFBFBBBLLR
-FBBFBBBLRL
-BFBBFBBLRR
-FFBFBFBLLR
-FFBFBFBRRL
-BFBBFBBRRL
-BFFBFFFLLR
-FFBBFFBRRL
-BBFFBBBRRL
-FFFBBFBRLR
-BFBBFBFRRR
-BFFFFFFRRR
-FBBBFFBLLL
-BFBFFFFLLL
-BBFFBFBLLR
-BFBFBBFRLR
-FFBFBBBRRR
-BFFFBBFLLL
-FBFFBBFRLL
-FFBBFBFRLL
-BFBFBBBLLR
-FBBFBFBLLL
-BBFFFFBRLL
-BBFFBFBLLL
-BFFBFFBLRR
-BFFBBFBLLL
-FFBFFFBLRR
-FBBFFBFRRL
-FBBBBFBLLL
-FFBFFBBLLR
-BFFBBBFLRR
-FBFBFFBRLL
-FFBFFFBRLL
-FFBFFBFLLL
-FBFBBFBLRL
-FBBFBFFRRR
-BFBFBFFLLR
-FBBFFFBLLR
-BFBBBBFRRR
-FBBFBBFRRR
-BBFFBFFRLR
-FBFBBBFRLL
-FBBFBBBLLR
-BFFFFFFLRL
-BFBFFBBRRR
-BFFFBFFRLL
-BFBBFBFLRL
-FFBFFFFRRR
-BFFBBFFRLR
-FBBBBBFLLR
-FBFBFFBLRL
-FFFBBFBLLR
-FBBFBFBLLR
-FFFBFFBRRR
-FBFFFFFRLR
-FBFBBFBRLR
-FBBBFBFLRR
-FBFBBBFLRL
-BFFBFFFLRL
-FFBBBFFRRR
-FFBBBBBLLL
-FBFFBBFLLR
-FFBFBFFLRR
-FFFBBBFLRR
-BFBFBBFLLL
-BBFFBFFLLR
-FFBBFBBRLL
-FBBFFBBLLL
-FBFFBFBRLL
-BFBFBFFLRR
-FBBBFFBRLR
-FFBFFBFRLL
-FFFFBBBLLL
-FFBFFBBRRR
-FBBBBFBRLL
-BFFFFBBRRR
-FFBBFFFRLL
-FFBFBFBRLL
-BBFFFFBLLL
-FFBBBFBRRL
-BFFFFBBLRL
-FBBBFBBLLR
-FBBBFBBLLL
-FFBFBFBLRL
-FBBBBFFRRR
-FBBFFFFRLR
-FFBFFFBRLR
-BFBFBFBRRR
-FFFBFBBRLL
-FBBBFFBRRR
-FBBFBFFRLL
-BFFBFBFLRR
-BFBBBFFRRL
-BFFBBFBLLR
-FFBBBFBRLL
-FBFBFBBLRR
-BFBBFFFLRL
-BFBFBBFLRR
-BFBBBFFRRR
-FBBBFFFRRL
-FBFBFBFLLR
-FBBFFFFLLR
-FFBFBBFRLR
-FFFBFBBLRL
-BBFFFBBLLR
-BFFBBBFRLR
-FFFFBBBRLR
-BBFFBBFRLR
-FBFFFFBRLL
-FBFBFFFRRR
-FBFFFBBLLL
-BFBBBBFRLL
-FBFBFFBRRL
-FFFBFFFRLR
-BFBBFBFRRL
-FBFFBFFLRR
-FBFFFBBLRR
-FFBFBBBRLR
-FBBFBFFLRR
-FBFFFBBRRR
-FFBFBBBRLL
-FFBBBBBRRR
-BFFBBFFLLL
-BFBBBBBRRL
-BBFFBBBRLL
-FBFFFFFLRL
-BFFBBFFLRR
-FBFFBBFLRL
-BFBFFBFRRR
-FBFBBFBRLL
-BFFFBFBRRL
-FBBFFBFLLR
-BFFFFFFLLL
-FBFBFBFRLL
-FBBBBFFRRL
-BFBFFBBLLR
-FBBFBFBRRL
-FFFBFFFLLR
-FFBBBBBLRL
-FFBFFBBLRR
-FFFBFBFRRR
-BFBBFBBRLL
-BFBBBFBLRR
-FFBBBBFLRR
-FBBBFFBLLR
-BBFFBBBLLR
-FBFBBFFRRL
-FBBBBBFLRL
-FFFBBFFRRL
-BFFBBBBLRR
-FFFFBBBLRR
-FFFFBBFLRR
-FBFFFBFLLL
-FBFBFBBLLR
-BFFBBBBLLL
-FFBFFFFRLR
-BFBBFFBLRR
-FFBBFBFLRL
-BFBFBFFLLL
-BFFBFBBLLR
-BFBBFBBLRL
-FFBBBBFLRL
-FBBBFFFLLL
-FFFBFFBRRL
-BFFFFBBRLL
-BFFFBBBRLL
-BFFBFFFLRR
-FFBFBFBRRR
-BBFFBBFLLR
-FFBBFBBLLR
-FFBFFBFRRR
-FFBBBFFRLR
-BFFBBBBLLR
-FFFBFFFLRR
-FBFFFFFLLR
-FBFFBBBLLL
-BBFFBBFLLL
-FFBBFBFLRR
-BFFBFBFLRL
-FBFBBBFRRR
-BFBBFBBLLR
-FBFFFFBRRL
-FFFBBFBLRR
-BBFFFFBLRR
-BFBBBBFRRL
-FFBBBFBLLL
-BFBBFBFRLR
-BFBBFFBRRL
-BFBFBFFRRL
-FBBFFBBLRL
-FFFBFFBLRL
-BFFBBFFRLL
-FBBBFFFRLL
-FBBFBBFLLR
-FFBFFFFLLR
-FBBBFBFLRL
-BFFFBBBLLR
-FBFBBBBRRR
-FBBFBFBRLR
-FFFBFBFLLR
-FFFFBBFRRR
-FFFBBFFLRL
-BFBFFBFRLL
-FFFBFFBLLR
-FBBFFFBRLL
-FFBBBFBRRR
-FFBBFBBRLR
-BBFFFFFRRR
-FFBFFFFRLL
-FBBFFBBRRL
-BBFFFBFLRR
-FBBFFFFRRR
-FFBFFFBRRL
-BFBBFBFLLL
-BFFFFBFLRR
-BBFFFFFLLL
-FFBBFBBRRL
-FFBFBFFLRL
-FBFFBBFRRL
-BBFFBFBRLR
-BBFFBBFLRR
-FBFFBFBRRR
-FBBFBBFLRR
-FBFFFBFRLL
-BFBFFFFLRL
-FFFBBFBRRR
-BFBBBBBLLR
-FBBFFBBRRR
-FFBBBFFLLL
-FBBBBFBLLR
-BBFFFFFRLL
-FFBBBBFRLR
-FBFBFBBRRR
-FBFFBFFLLL
-FBFFBBBLLR
-FBBBBFBRRL
-BFBFBFFRLR
-FBBFBBBRLL
-BFBBFFFRLL
-FBBBFBFLLL
-FFBFFFFRRL
-FBFBBFFRRR
-FBFFFFBLLL
-FBBBBBBRLL
-BFFBFBBRRR
-BBFFBBFRRL
-FBBFBFFLRL
-FBFFFFBRRR
-FBBFFFFRLL
-FFFBFFFRRR
-FBFFBBFLLL
-BFFFFBFLLL
-BFFFFBFLLR
-FFBFFBFLLR
-FFBFFBFLRR
-BFFBBBBLRL
-FFBBFFBLLL
-FBBFBBBLLL
-FBFBBBFLLR
-BFFBBBFLRL
-BFBBFFBRLL
-FBFFBFFRRR
-FFBFFFBLRL
-FFFBBBFRRL
-FFBFBBFLRR
-FFFBBBBLRL
-FFFBBFFLLL
-FFFBFBBRRR
-FBBFBFFLLL
-BFFFBBBLLL
-BFFBFFFRLR
-FFFBBBBLLL
-BFFFFFBRRL
-FFBBFFFLLR
-BFBBFFFRRR
-BFBFFBFLRR
-FFFBBBFLLR
-FBFBBBFLRR
-BBFFBBBRLR
-FBFBBFFLRR
-FFBBBFBLRL
-FFFBBBFRLL
-BFFBFFBRLR
-BBFFFBBRRR
-BFBBBBFLRL
-BFBBBFBRRR
-FBBBBFFLLL
-FFFBFBBLLL
-BBFFFFFRLR
-BBFFBFFLLL
-FFBFBBBLRL
-FFBBFBFRLR
-BFBBBBBLRR
-FFBFFFBLLR
-FFBFFBFLRL
-BFFBFBBRLR
-FBFBFFFRRL
-FBBBFFFLRR
-FFFBBFFLLR
-FBBBBFFRLR
-FFBBFBBRRR
-BFBBFBBRRR
-BFBFBBFRRL
-BFFBBBFRRL
-FFFBFFFLLL
-FBBFFBFLRL
-FFFBFBBRLR
-BFBBFFFLLR
-BFBBFFBRRR
-FBFFBFBRRL
-FFBBBBBRLL
-BFFBFFBLLL
-BFFFBBFRRR
-FBFFFBFRRR
-FFBFBFBRLR
-FBFBBFFLLR
-FBBFBBBRRR
-BFBFFFFRRR
-FFBFFFFLLL
-FBFBBFFRLL
-BFBFFBFLRL
-BFBBFFFLLL
-FBFBBFBRRR
-BFBFFFBLLR
-BFBFFFBLLL
-BBFFFBFLLR
-BBFFBFFRLL
-FFBBBBFRRL
-BBFFFBFLRL
-BBFFBBBLRL
-BFBFFFBLRR
-FFFBFBFRLL
-BFBFFBBLLL
-BBFFFBBRRL
-BFBBBFFLLL
-BFFBBFFLLR
-FFBFFBBLLL
-BFFBBFBRRL
-BFFFFFBLRL
-BBFFFFBRLR
-FBFBBFFLLL
-FFBBBFBRLR
-FFFBBFBLLL
-FBFFFBBRLR
-FFBFBFFRLR
-BFFFFFBLRR
-FFFBBBBRLL
-FFBBFFFRRR
-BFFFFFBRLR
-FBBBFFBLRR
-FBFBFBBRLR
-FBBFFFBLRR
-BFBFFBBLRL
-FBFFBFBRLR
-FBFBFFFLRL
-BFFFFFBRLL
-BFBBBBFLRR
-BFFBFFFLLL
-FBFFBFFRRL
-FFFBBFFRLL
-BFFFBFFRRR
-FBFFBFFLLR
-FFFBBBFLLL
-FBFFFBFLRR
-BFFBFBBLLL
-BFFFBBBLRR
-FBBBBBBRRL
-FBFFBFFRLR
-FBBFFBBRLL
-FBBBFFFRRR
-BFFBFBBRRL
-FFBBFFBRRR
-BFBBBFFLRR
-FFFBFBBRRL
-BFBFBBBLRR
-FFFBBFBLRL
-FBFFBBFRLR
-BFFFBBFLRR
-BBFFFBBLRL
-FBBFFBFRLR
-FFFBFBFLLL
-FFFBFFFRRL
-BBFBFFFLLL
-FBFBFBFLRR
-BFBFFFFRLL
diff --git a/5/part1.c b/5/part1.c
deleted file mode 100644
index ca726b7..0000000
--- a/5/part1.c
+++ /dev/null
@@ -1,82 +0,0 @@
-#include <stdio.h>
-
-#define COLUMNS 8
-#define ROWS 128
-
-int seat_id(const char *seat)
-{
- int row = 0;
- int row_lower = 0;
- int row_upper = ROWS - 1;
- int column = 0;
- int column_lower = 0;
- int column_upper = COLUMNS - 1;
- int i = 0;
- for (; i < 6; i++) {
- switch (seat[i]) {
- case 'F':
- row_upper -= (row_upper - row_lower + 1) / 2;
- break;
- case 'B':
- row_lower += (row_upper - row_lower + 1) / 2;
- break;
- }
- }
-
- switch (seat[i++]) {
- case 'F':
- row = row_lower;
- break;
- case 'B':
- row = row_upper;
- break;
- }
-
- for (; i < 9; i++) {
- switch (seat[i]) {
- case 'L':
- column_upper -= (column_upper - column_lower + 1) / 2;
- break;
- case 'R':
- column_lower += (column_upper - column_lower + 1) / 2;
- break;
- }
- }
-
- switch (seat[i++]) {
- case 'L':
- column = column_lower;
- break;
- case 'R':
- column = column_upper;
- break;
- }
-
- return row * COLUMNS + column;
-}
-
-int highest_seat_id(const char *filename)
-{
- FILE *file = fopen(filename, "r");
-
- // Include space for newline and string terminator
- char buffer[16] = { 0 };
-
- int max = 0;
-
- while (fgets(buffer, 16, file)) {
- int tmp = seat_id(buffer);
- if (tmp > max) {
- max = tmp;
- }
- }
-
- fclose(file);
-
- return max;
-}
-
-int main(int argc, char *argv[])
-{
- printf("%i\n", highest_seat_id(argv[argc - 1]));
-}
diff --git a/5/part2.c b/5/part2.c
deleted file mode 100644
index 396ea76..0000000
--- a/5/part2.c
+++ /dev/null
@@ -1,95 +0,0 @@
-#include <stdio.h>
-
-#define COLUMNS 8
-#define ROWS 128
-
-int seat_id(const char *seat)
-{
- int row = 0;
- int row_lower = 0;
- int row_upper = ROWS - 1;
- int column = 0;
- int column_lower = 0;
- int column_upper = COLUMNS - 1;
- int i = 0;
- for (; i < 6; i++) {
- switch (seat[i]) {
- case 'F':
- row_upper -= (row_upper - row_lower + 1) / 2;
- break;
- case 'B':
- row_lower += (row_upper - row_lower + 1) / 2;
- break;
- }
- }
-
- switch (seat[i++]) {
- case 'F':
- row = row_lower;
- break;
- case 'B':
- row = row_upper;
- break;
- }
-
- for (; i < 9; i++) {
- switch (seat[i]) {
- case 'L':
- column_upper -= (column_upper - column_lower + 1) / 2;
- break;
- case 'R':
- column_lower += (column_upper - column_lower + 1) / 2;
- break;
- }
- }
-
- switch (seat[i++]) {
- case 'L':
- column = column_lower;
- break;
- case 'R':
- column = column_upper;
- break;
- }
-
- return row * COLUMNS + column;
-}
-
-int missing_seat_id(const char *filename)
-{
- FILE *file = fopen(filename, "r");
-
- char table[COLUMNS * ROWS] = { 0 };
-
- // Include space for newline and string terminator
- char buffer[16] = { 0 };
-
- int min = __INT_MAX__;
- int max = 0;
- while (fgets(buffer, 16, file)) {
- int tmp = seat_id(buffer);
- if (tmp < min) {
- min = tmp;
- }
- else if (tmp > max) {
- max = tmp;
- }
-
- table[tmp] = 1;
- }
-
- fclose(file);
-
- for (int i = min + 1; i < max; i++) {
- if (table[i] == 0) {
- return i;
- }
- }
-
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- printf("%i", missing_seat_id(argv[argc - 1]));
-}
diff --git a/5/part2_fast.c b/5/part2_fast.c
deleted file mode 100644
index 483dd8f..0000000
--- a/5/part2_fast.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include <stdio.h>
-
-#define COLUMNS 8
-#define ROWS 128
-
-int row(const char *seat)
-{
- int end_res = 0;
- for (int i = 0; i < 7; i++) {
- if (seat[i] == 'B') {
- end_res |= 0x40 >> i;
- }
- }
-
- return end_res;
-}
-
-int column(const char *seat)
-{
- int end_res = 0;
- for (int i = 7; i < 10; i++) {
- if (seat[i] == 'R') {
- end_res |= 0x200 >> i;
- }
- }
-
- return end_res;
-}
-
-#ifdef USE_ASM
-int seat_id(const char *seat);
-#else
-int seat_id(const char *seat)
-{
- int end_res = 0;
- int i = 0;
- for (; i < 7; i++) {
- if (seat[i] == 'B') {
- end_res |= 0x200 >> i;
- }
- }
-
- for (; i < 10; i++) {
- if (seat[i] == 'R') {
- end_res |= 0x200 >> i;
- }
- }
-
- return end_res;
-}
-#endif
-
-int missing_seat_id(const char *filename)
-{
- FILE *file = fopen(filename, "r");
-
- char table[COLUMNS * ROWS] = { 0 };
-
- // Include space for newline and string terminator
- char buffer[16] = { 0 };
-
- int min = __INT_MAX__;
- int max = 0;
- while (fgets(buffer, 16, file)) {
- int tmp = seat_id(buffer);
- if (tmp < min) {
- min = tmp;
- }
- else if (tmp > max) {
- max = tmp;
- }
-
- table[tmp] = 1;
- }
-
- for (int i = min + 1; i < max; i++) {
- if (table[i] == 0) {
- return i;
- }
- }
-
- fclose(file);
-
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- printf("%i", missing_seat_id(argv[argc - 1]));
-}
diff --git a/5/seat_id.asm b/5/seat_id.asm
deleted file mode 100644
index a372a9a..0000000
--- a/5/seat_id.asm
+++ /dev/null
@@ -1,25 +0,0 @@
-global seat_id
-
-section .text
-
-seat_id:
- xor eax, eax ; set up return value
- cmp BYTE [rdi], 'B'
- sete al
- xor ecx, ecx
-%assign i 1
-%rep 6
- shl eax, 1
- cmp BYTE [rdi + i], 'B'
- sete cl
- or eax, ecx
-%assign i i+1
-%endrep
-%rep 3
- shl eax, 1
- cmp BYTE [rdi + i], 'R'
- sete cl
- or eax, ecx
-%assign i i+1
-%endrep
- ret
diff --git a/5/seat_id_ssse3.asm b/5/seat_id_ssse3.asm
deleted file mode 100644
index 4d51cbe..0000000
--- a/5/seat_id_ssse3.asm
+++ /dev/null
@@ -1,23 +0,0 @@
-global seat_id
-
-section .rodata
- align 16
- xmm_shuf: db 8, 7, 6, 5, 4, 3, 2, 1, 0, 9, 10, 11, 12, 13, 14, 15
- xmm_cmp: db 1, 'RBBBBBBB', 1, 1, 1, 1, 1, 1, 1
-
-section .text
-
-seat_id:
- movq xmm0, qword [rdi] ; load first 8 bytes
- pshufb xmm0, [rel xmm_shuf] ; reverse byte order and already shift left once
- pcmpeqb xmm0, [rel xmm_cmp]
- pmovmskb eax, xmm0 ; store mask in return value
- xor ecx, ecx
- cmp byte [rdi + 8], 'R'
- sete cl
- or eax, ecx
- shl eax, 1
- cmp byte [rdi + 9], 'R'
- sete cl
- or eax, ecx
- ret