adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
47fe721a55f6a72468ec12d9ed90cb4235b4cde7
parent
c2ce18451bcacb6ccde51a26aeabe387ca9ecc9f
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2021-12-23 14:12
change order

Diffstat

M 2021/23/part1.rs 66 ++++++++++++++++++++++++++++++------------------------------

1 files changed, 33 insertions, 33 deletions


diff --git a/2021/23/part1.rs b/2021/23/part1.rs

@@ -7,49 +7,49 @@ use std::io::BufReader;
    7     7 const LEN: usize = 15;
    8     8 
    9     9 // #############
   10    -1 // #10.C.D.E.AB#
   11    -1 // ###2#4#6#8###
   12    -1 //   #3#5#7#9#
   -1    10 // #01.2.3.4.56#
   -1    11 // ###7#8#9#0###
   -1    12 //   #1#2#3#4#
   13    13 //   #########
   14    14 
   15    15 fn i2xy(i: usize) -> (i64, i64) {
   16    16     match i {
   17    -1         0 => (2, 1),
   18    -1         1 => (1, 1),
   19    -1         2 => (3, 2),
   20    -1         3 => (3, 3),
   21    -1         4 => (5, 2),
   22    -1         5 => (5, 3),
   23    -1         6 => (7, 2),
   24    -1         7 => (7, 3),
   25    -1         8 => (9, 2),
   26    -1         9 => (9, 3),
   27    -1         10 => (10, 1),
   28    -1         11 => (11, 1),
   29    -1         12 => (4, 1),
   30    -1         13 => (6, 1),
   31    -1         14 => (8, 1),
   -1    17         0 => (1, 1),
   -1    18         1 => (2, 1),
   -1    19         2 => (4, 1),
   -1    20         3 => (6, 1),
   -1    21         4 => (8, 1),
   -1    22         5 => (10, 1),
   -1    23         6 => (11, 1),
   -1    24         7 => (3, 2),
   -1    25         8 => (5, 2),
   -1    26         9 => (7, 2),
   -1    27         10 => (9, 2),
   -1    28         11 => (3, 3),
   -1    29         12 => (5, 3),
   -1    30         13 => (7, 3),
   -1    31         14 => (9, 3),
   32    32         _ => unreachable!(),
   33    33     }
   34    34 }
   35    35 
   36    36 fn xy2i(x: i64, y: i64) -> Option<usize> {
   37    37     match (x, y) {
   38    -1         (2, 1) => Some(0),
   39    -1         (1, 1) => Some(1),
   40    -1         (3, 2) => Some(2),
   41    -1         (3, 3) => Some(3),
   42    -1         (5, 2) => Some(4),
   43    -1         (5, 3) => Some(5),
   44    -1         (7, 2) => Some(6),
   45    -1         (7, 3) => Some(7),
   46    -1         (9, 2) => Some(8),
   47    -1         (9, 3) => Some(9),
   48    -1         (10, 1) => Some(10),
   49    -1         (11, 1) => Some(11),
   50    -1         (4, 1) => Some(12),
   51    -1         (6, 1) => Some(13),
   52    -1         (8, 1) => Some(14),
   -1    38         (1, 1) => Some(0),
   -1    39         (2, 1) => Some(1),
   -1    40         (4, 1) => Some(2),
   -1    41         (6, 1) => Some(3),
   -1    42         (8, 1) => Some(4),
   -1    43         (10, 1) => Some(5),
   -1    44         (11, 1) => Some(6),
   -1    45         (3, 2) => Some(7),
   -1    46         (5, 2) => Some(8),
   -1    47         (7, 2) => Some(9),
   -1    48         (9, 2) => Some(10),
   -1    49         (3, 3) => Some(11),
   -1    50         (5, 3) => Some(12),
   -1    51         (7, 3) => Some(13),
   -1    52         (9, 3) => Some(14),
   53    53         _ => None,
   54    54     }
   55    55 }