diff --git a/2023/21/21.py b/2023/21/21.py new file mode 100644 index 0000000..e69de29 diff --git a/2023/21/input21.txt b/2023/21/input21.txt new file mode 100644 index 0000000..9400c95 --- /dev/null +++ b/2023/21/input21.txt @@ -0,0 +1,131 @@ +................................................................................................................................... +.#..#..#.....#....#.#..#.......#...............#...........#...................##...........#.........#............#.#....#....#... +...##.#..#.....#.......#.......#....................#..#.......................#.....#.#...#.......................##.#....#.#..... +..#.........................#.........#...##.....##..#...#...................#.............#.....#.........##........#............. +....#.#...#.............#...........#........#...#..#....#................#....#....#........#............#........#............... +..#.......##........#...#........#..#.......................................#....#......................#...#..#....#.#..........#. +......#.#....#...................#......#.....##.......#..........#..........#..#.............#...#...#.#..#..#.#..#...#......#.##. +.#...........#.............##...#...##.#............................#.......#...##.....#...#..#......#............................. +........#...#.............#...#.....##..#......................##.................#..#..##..#.........#.........#............#..... +....#..#.##.#...#......#...#..............#...##.#..#..........#...............##..........#......#........##.#....#.....#......... +....#..#.....##....#.......................#.......#..............#..............#..#..#.............#........#...#..##............ +...#.......#....#....#...#.#...#.#..........#...#..........#....#........................##..........#...#...#...#................. +...#.#.....#.........#....#.....##..............#....................####.............................#....#......##...#.....#..... +.#..#......................#..............#.............#.#...###.#.##....#...................#.......#.....##......#..........#... +..........#.#.#...........###............................#......................................#.........#..#..#........#.......#. +............#.......#....................................#...........#.#.............#...........#.#..#...#...#.........#.......... +..........#.............#.....#....#.#.....#...................#....#.................#..........#............#.......##.......#... +...##........#...#..#......#.........................##.............##.###............#..........#........#..#...#...#............. +...........##......#.#....###.............#...............#.......#...#................#................#.#......#.....##....#..... +..............#.....................................#.............#......###..#...........#............#.#.....#...........#...#... +.................................#......................#.............#.....................#......#...##...........#......#..#..#. +.......#..#..................#.....#..............#...##.#.#.........#.........#..#...........#..........#.....#....#...##.......#. +.....#.#....#.#....................#..................#...............#..#...................#...#.......##....##......#..#.....#.. +.........#.....#...#..........##.#.#...............#..........#...#..........#.....................#..............#..#............. +.......#..........#...#.....#...#....#....................#...##.......#...#..........................#.......#.......#..#..#...... +........#.##........#.......#...................###..#......#...................##.......................#.........#....#.......... +...........#........#............................#.........#...#..###.#......#..#.###...........#.#..#.................#..#..###... +...........#....#..#....#.................#........#..#.#....###.....#....#...#....#..#...........#...........#...#....#.#......#.. +..#..#.#..#....#.###.##...#......................#.......#.....#......................#...........#.....#.#........#...........#... +..............#...........##.#.............#....#...#....#...##......##.....#........##...........#............##.#....###......... +..#..................##...#.................#.........................#..#..........#.#.#..........#....##..............#......##.. +.....#..#.##......#....................#..#............#..#............##..#..............................#.#..#.....#...........#. +...###....#.....#....#....#......................##.....#..#......#..##........#.............................#.....##.............. +...#..........#..#.#..#..........................#....#........#..............................................#..##...........#.... +........##...#......###..#..................####..#.#...#...#......#...##....#.....#........................#.....#................ +......##...........#......................#.##.#........#...........#...#......#...#..#.................#.#.......#...#..........#. +...#..........#........##.............#.............#........#.....#........#............##.....#.........#..##.#.....#......#.#... +.#..........#.#.........#..........#....................#..#....#...................#...#.....#...........#............##.....#.... +................#......#........#..............#.##.......#...#....#..........#....#.....#.....#............#..#...#..##.....#..#.. +...##....#..........#................##......#........##......................#.#...#.......##..#.#.#.........#.......###.......... +...###.......................###.#..............#...#...#.......#.........###.....##.................#.......#....#........##..##.. +............#...#...........#..#............#.......##..........................#....#...#.....#..............###........#......... +.......#.##......#.............#...#...................#....#.........#...........###......#......................#................ +....###........#.#........#.#.#.....#..#........##..#.......#.#...................#.....#.#.....##....#.................#.#..#..... +.##....#..................#........#..#.........#...........................#.............#........#..#................##...#....#. +.#...........................#.............#.#.....#.#..#...............#........##...............................##....#.#........ +.#.#..#....................#...............##....#.....#..............#.....................#......##.............................. +..#........#.#..........#.........##....................#.........#......##..###...........#...#.....##..#..........#......###..... +......#...............#...#...#.##......##..#..#.....#...#.##.#...............#..............#...#......#.#..#..................##. +............#..........#..#.##...#.#.....#..........#..#..........#..#......##..............#......##.....................#.#.#.... +...#..##.#................##.#...#...........#...........................#...#..#.#.#............#.##........##.................... +....#........................................#....#..##..............#.........#..#...#......#..........#.......#........#....#.... +....................#..........#.............#...........#...............#......##.......##..#.........#.......#.........#.#....... +..#.............#...##..#......................#.......#.#.#.#..#..#..#.#....#.....#..#.......#..#.........#....#.................. +..#..................................#.....................#......#.#.#............#.....#..#..##....###...#....................... +...#............#...#...#.#.......#...###............................#..#................#..........#..........#................##. +....#...................#...##......#......#...........................#.#...##...........#......#..#...........#..............#... +.#............#............#.....................##...........#.......................#........................#...............#... +...........#.......#..##.##..#......#.......#.......#.....#..............................#.......#.#...#.....#.#.....#............. +..........#....#.......#...#....##.#.......#.......................#.#......#.#.........##......................#.................. +..............#.................#..#.#..#.#.........##..#....#....#...#..........#.....#.#..#.....................#..#.#.........#. +..................#.....................#..###.#....#.#.............#..##..#.#.##.#.............#.#..#......#.#..##..##.##......... +.............#.....#....#..........#........#.....#.....##..###..........#.......#.#.....................#....#...#...##........... +......#............#....#.#..#..#......##..........#.#.......#...........#.#....#.....#...#...........#...#.......#.......#........ +......................#....................#......#............#...#.......#.......#.#.#.#.........#......#......#..#.............. +.................................................................S................................................................. +........#.....#...#..................#..#..............##....###..............#.#...........#...#.#.#.#.#........#.#.#...#...#..... +.........#...........#............#.##...#...#..........#.....#..............#...#......##..#..#.......#..#.#.##.....#..#.......... +.......#.........#.#..................#...#........................#..............#...........#.#.#.........#.............#........ +............####..........#..........#........#....#.....#...........#...........#..##..#..................#...#......#............ +...............................#..##......#....#.#......................#........#.#..#.#..............#.....#.#................... +..........#.#...#...##.............#..#..#....#.......#..##.........##...##......#.........#...#...##........#.##..#............... +.................#..............#......#...#...#..##..........#..........#...#....#.................#......###.#..##.#..........#.. +....#........#...#........#.....#..#...#...##........#.....#................#.....#.#.....#......................#...#..........##. +...##...........#........#................#..##.....#...#.#...#....................#...........#.....#...............#..........#.. +...#..............##...............................#.....#...........#...###............#....#............#.#.#....##.............. +...#...........##...#......#......####..##......#....#......#..##...#..#...........##..................#...##.#.#..#..........#.... +..........................#....#....#..##.......#.............#...#..###..#..#.....................###....#...............#...##... +.......##........#...#....##...........#......#..............##.....##.....#..#.#...#.....#...........##.........................#. +...#..............##.#..#.#.........................................#....#............#....#.........#............................. +..#....................#..........#.....#...#.........#.....#..............#.....#.....#......#...#.#.....###.#.............#...... +.......##..#...........#........##......#...#..##.....................#.#...#...#........#...............................#....#.... +......#...#.....................#..................#.........#......#..#....#..###..#.............#.....#.................#..#.#... +.#....#.#.............#......#.........#...#.............#...#...........#....#..........#......#.#..#..................#........#. +....#...#.................#....#..#...#.......#..#...#.........#..#.#.#.......#....#...#...............#...#..................#..#. +.......................................#........#..#....#...#.......#.....#...#..#..............#.#...#..#.........#..##..#....#... +...##...#.................#.#.#..#.....#..##....#..#...................#..................#..#.#...#..................#.......#.... +....#....#.#...#.....................#...........#......#...#................#................#.........#..........#.#...........#. +...#..##...#...##.##..........#.......#..#...#..........#.#.......#.#.........#.#.......#..#........#.#.........##.#.....#..#...... +...................#.................#.#.#...#...#.#.##.....#.........#......#.#...#..............#.............#.............#.... +..#...#............#...........#....##........#.......#.......#.......#......................................#....#..............#. +....................##...............#.#................#..........#...#.............##...#..#................#.......#.#...#...... +.#.............#........................#.......#....#..#.#..........#..#.......................#..................#.#....#...#.##. +...#....#...............#........#....##.........#.........#........#....#.......##.......#..#...............#................###.. +.#......#.#....#..#.#.#..............#..............#..........#.........................#...#..................#...#.........#.#.. +..#...........#...#.......................#........#.......#........#.#....#.............#...#............#.......#......#.##...#.. +..#....#...........#.............................#.....#..#.#...#.................#..#........#............#..##.......#.....#..... +.#.......#........#...#.....#........#.......#.....#.....#........#.........#...#...........#.#.........#.#........##.......#...... +...#.....#...#.............##............................................#...#........#....#.........##..........#.###.#.#.....#... +.#...#..#.......................................#...........#.......#.##..#.....##......#.............#...#...#.#........#......... +..................#..........##.........#...........#..#.......#........#.#..........#....#............#..............#.#....#..... +..#.........#...........#.#...............#.#.....###......#.#....#...........#..........................#..................#...... +.##.#......#...#...#..........#...........#........#.......#.#.....#..#.....#..#......##.........#.#...#...#..........#.....#...... +...........##....#...#.....#.#.#...........#...#..#.......#............#..#....#.......................#....#..#..#.....##...#.#... +.#...##...#.........##.......#.##.#...........#......#.....#..........#...#...##......#..................#..#.............#........ +............#.#..#.......#...##..#............#.......#...#.#..............#....#....#...................#.##..#......#.........#.. +........##.#..#....#.#.#............................#.#..............##........#.#.................#.....#..#.#.....#.............. +...#.........#..........#.#...................#.................#.##................#.........#..#...#.#..#.#.#..............#..... +...#.........##......##...#..........................#......#.......#......................................#.##..#..#........##.... +.....#.#....#...#....#.#..#...##.......#..........#....#.....#........#........##.#...............#...#....#...#........#.......#.. +.##....................................................#..#..............#....................#..#..#..###.....#..##......#....#... +..#..#.....#.#........#.........#.#........................##..#...............#........#..#..#......#...#...#..................... +.....#....##......#...#..........#.................#............#.#.........#............#........#........#.#...#...#............. +............##.#.....................................#......#........#.##.#....................#.......#.....#.....##...........##. +...#.........#.....#...#..............#....#.#..........#....##.........#.#..#............#.......................##..#.......#.... +.#..#.........#.........##..#.##..............#............#....#..........#.........#...##.....#.....#.#....#.........#........... +..............#..#...#...##........#...#.#....#..............#..#...#.#............#...........#..........#...........##.#......... +....#....#........##.........#........#..#.#.#.............#.#....##.#.#...........#.........#..#...###.....#..#...#............#.. +..........#...........#........##.#......................#..........#................#..............#............##.....#.......... +...........#.....#............#.##.......#........................#...##........#.#....##....#.#...............#...#......#......#. +...#.....#..............#....#..#....#......#.....................#....#...................#...#.......##...#.......#.......#....#. +.#........#.......###........##.#.........##........#..............#..........##...#.......#.#.........#..#..#.#...##.....#....##.. +..#....#.......#..#.....#...............#.#....#................#..#...................#...#.............#....#.....#..#.....#..... +......#.##.#..#.#......#.............#................#.......#..........................#.......#....#...#.#..#...#......#.#...... +...#.....#..##.#.....#.#..............##....#....##...#...........................#..................#......#...#.....#.#.##....... +.#...#..............#...#..#....#.#..............#.#..............................###.....#.....#.......#.....#....#............... +..#...#.....#...#.#..##...#...##......#.#............#........................#..........#....#............................#....... +...........#..##........#..#.......#.......#......#............................##..#..#..#....#....#...........##..##..##.....#.... +........#.#.#.........#...........#....#..#...#..#.......#..............#.....#.#................#..........#.#.#........####...#.. +...#...#.#.#....#............#.......#.......#....#.....#......................#...#....#..........#..........#.#.......#...#...#.. +................................................................................................................................... diff --git a/01/code.py b/2024/01/code.py similarity index 100% rename from 01/code.py rename to 2024/01/code.py diff --git a/01/input01.txt b/2024/01/input01.txt similarity index 100% rename from 01/input01.txt rename to 2024/01/input01.txt diff --git a/02/code.py b/2024/02/code.py similarity index 100% rename from 02/code.py rename to 2024/02/code.py diff --git a/02/input02.txt b/2024/02/input02.txt similarity index 100% rename from 02/input02.txt rename to 2024/02/input02.txt diff --git a/03/code.py b/2024/03/code.py similarity index 100% rename from 03/code.py rename to 2024/03/code.py