- commit
- 5b610ea9470197e4aefa6c18b9984f143f9a2e53
- parent
- e732ab1f2a2a31cad6a82f9a7e99cd2ceb7e76e1
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2022-12-17 10:57
2022-12-17 part1
Diffstat
| A | 2022/17/input.txt | 1 | + |
| A | 2022/17/solution.rs | 149 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | 2022/17/test.txt | 1 | + |
3 files changed, 151 insertions, 0 deletions
diff --git a/2022/17/input.txt b/2022/17/input.txt
@@ -0,0 +1 @@ -1 1 >>>><>><<>>>><<<>><<<<>><<<>>>><<<>>><<<<>><<>>>><<>>>><<<<>>>><><<<<>>><<>>>><<>>>><<><<<<>>>><<>>>><><<<>>>><<>><<<>><<<<>>>><<<<><>>>><<<><>>><<<<>>>><<>><<>><>><<<><<<<>>>><<<><><<>>><<>>><>>><>><>>>><<<<>>><>><<><>><<<>>>><<<<><><<>><<<>>><><<<<>>>><<<>><<<>>><<<>>><<<><<<>>>><<<<>>><<<<>><<><<<>>>><<<>>>><<<<>><><>><<>><<><<>>><>>><>>><<<><<<<>><<<><<<>><<>><><<<>><<<<><<<>>><<>>><>>><<<><>>>><<>>>><<>>><<<>>><<<<>><><<<>><>>>><<><><<>>>><<<<>>><<><<><<><<<>>>><<<>><<<><<>><>><><<<<>><<<>><<>>>><><<<<><<<<>>><<>>>><<<<><<<>>><<>>>><<>><<<>>><<>>><<>><<<>><<<>>><<>>><<>>>><><<>><<<>><<<><><<<>>>><<<>>>><<<>><<<<><<>>><<<>>>><<>>><>>>><<<>>>><<><>><<<>><<<<>>>><>>><<<><<>>><<<>>>><<<<>>>><<>>>><<><<><<<<><><<<>>><<>>><<<<>><<>>><>>>><<<<>><<>><<<<>>><<>>>><<<<>>>><<<<>><<<><<<<>><<<<>><<>><<>><<<<>>><<<>>><<<<>><>><<<><<>>>><<<<>>>><<<<>>><<<<>><<>>>><><><>>><<>>><<<>>>><>><<<<><<<<><><<>>><<<>>>><<<<>>><>><<<<>>>><>><<<>>><>>>><<<>>>><<>>><<<><<>>><<><<<<>>><<<<>>>><<>><>>><<>>><>>><<<>>><<<<>>><<<><>>>><<<<>><>>><<<>><<<>>><><<<><<><>><<<<>>>><<<>>>><<<><<<>><<<<>>>><<<>>>><<>><<<>><<<>>><<><<<<>>><<<<>><>>>><<>>>><<<>><>>>><<<>>><<>>><><>>>><<<>>>><>>>><<<>>><<<>>>><<>>>><<><<<>><<><>>>><<>>><<>>><>>><<<>>><<><<<><<>><<>>><<<<><<<><<<<>>><<<<><>><<>><<<>>><>><<><><<<<>>>><<>>>><<<<>><<<<>><>>><<<><<<<>><<<<>>><<<><<<>>>><>>><>>>><<<<>><<<<><><>>>><<<>>><<<><<<<><>><<<>>>><<<>>><<<<>>><<<<>><<<>><<<>><<<<>>><>>>><<<><<<>>><>><<>>>><<<>>><>>><<<<>>><<<>>>><>>><<><<>>><<>>>><<<><<<>><<>><<>>>><<<>><>>>><<<>>>><<>><>><>>>><<<>>><<>>><>>><<<>>>><<<>><>>><<<>>>><<<<>>>><<<><<><<>><<<>>>><<<<>>><>>><<>>><<<>><<>>><>>>><<<<>><<<<>>>><<>>>><><<<<>><>><<><><>><<<>><<<<>>><<<>>><<<<><<<<>>>><<<<>>>><<<<>>>><>><<>>>><<<<>><>>><<<<><<>>>><<<<>>><><<<<>>>><><<>>><<<<>>>><<<>><<><<><<>>><><>>><<<<><<<>>><<<<><<<<>>>><<>><<>>>><<<<><<<>>>><>><<<<>>><>><<<><>>><<<><>>><<><<>>><<<<><<<<><<>>>><>>><>>><>><>>>><<<<>>><<<<>>><<>>>><<<>>><<<<>>>><><>>><<<<>><<<><<<>>>><<<<>>><<<<>>><<<>>><<<<>><>><<>><<>>><<<>><>>><<>><<<<>>>><<>><<<>><<>><<<>>><<<>>>><<<>>><<<>>>><<>><<><>>><<<>>>><<<<>>>><<<>>>><>>>><<<>>><<<<>>>><<<>>><>>><>>><><>>>><<<>>>><><>>><<><>><<<<>>><<<<><<<<>>>><<<<>>><>><<<>>><<<>><<<<>>><<<<><<>><<><<><<<<>>>><<>><>><>>><>><<<>>>><<<>>>><<>><<><<<<>>><<><<<>><<<>>><<><<<<>>><<>><>><>>>><<><<<>><<<><<<<>><>><<<><>><<<>><<<>>>><<<<>>><<<<>>><<<><<>>>><<<>><<<<>><<<>>><<<<>>><<<<>><<>><<<>>>><<><<<>><<>>><<<<>>>><<<>><<<<>>>><<>>><<<<><<<>>><<<>>>><>>><<<<><<<>><<<><<<>><><<>>>><>>>><<<<>>>><><<<<><<>>>><><<<><<<>>><<>>>><<<<><><<<<>>><<<<>>><<>>><<>>><<>>><<>>><<<<>><>>><<>><<<>>><><>><<<>>><><>><<>><<<>>>><<<<>>>><>><<<<>>><><<<<>><<>>>><>><<>>>><>>><<<<>><<<<>>><>>>><<<>><>>><<<<>><<<<>><<>>><>>>><<<>>><<<<>>><<<>><<>>><<<>><<<<>>><<>>><>>>><<<>>>><<<>>><<<<><<>><<<<>>>><><<<<>>><><<>>><<<<><<>>>><<<<>>><<<<>>><<<<>><<<<>><<>><<<<>>>><<<>><<<><<<>>>><<>><<>>><<<<><<<<>>><<<><<<<>>>><<>><<>><<<>>><<<<>><<<<>><<<>>><>><<<><<<>><>>>><<<>><<<<>>><<>><<<>><>><>><<<>>><<<>>><<<><>><><>>>><<<>>><>>><<>>>><<<>>>><<><<><>>><<<>>>><<<>><<<>>>><>>>><<<><<>><><>><<<>>>><<<<><<<>>>><<>>>><<<<>>>><<>><>>><<<<>><<<<><>>>><<<>><<>>>><<<<><<<>>><<<>>><<<>>>><<<<>><>><>>><<>>><>>><<<<>><<<<><>>><<<>>><<<><<>><>><>>><<<>>><<<<>>>><<<<>>>><<>><<<>>>><>>>><<<>><>>>><<<<>><<<<>>><>><<<<>><<><<<>>>><<<>>><>><<>>>><>>>><<><><<>>><>><<<<>>><<<<><>>><<<>>>><<>>><<<><<<<>>><<<<>>><><<>>><<>><><<>>><>>><><<<>>><>>><<<<>>><<<>><<<><<<<><<>>>><<<<>>><<<>>>><>>><<>><>>><<<>>><><<<>>>><<<>>>><<<>>><<>>><<<>>>><<<>>><<>><><>>><<>>><<<<>>><<<><<<>>><<<<>><<<>>><<><<><>>>><<>><>>><<>>>><<<<>><<<><<<>>>><>>>><>><<<<>>>><<>>>><<<<>>>><<<>>>><>>>><>>><<<>>>><<<>>>><<>>>><<<<>>>><<>>>><<<><<<>>><<<>><>><<<>><<>><>>><<<>>>><<<>>>><<><<<>>>><<<><><<<<>><>>><<><<<<><<>><<<<>>>><<>><<<>>>><<><>><>>><<<>><>><<<<><>>><>><>><<<<>><>>>><<>>>><<>>><>>><<<<>><>>>><<<<>>>><<>>>><<>><<<<>><>>>><>><>><>>>><><<>><<<>>><<<>>>><<<><<<><<<<>><<<<>>>><<<>><<<>>><<<>>><>>>><>>><<<<>>><<<<>>><<<<>>><<<>><<<>><<<<>>>><<<>>>><<<>>>><<<>>><<>>><<<<>>>><<><<<>>><<><>><><<>>>><<>>><<>>><><<<>><<><<<>>>><<>><<<<>>><>>>><>><<><<<<>>>><>><<>><<><<<>>><<>>><<<<><>><<<>><><<<<><<>><<<<>>><<><<<>>>><<<<><>><<<><<<<>><<<<>>>><>>><<<<>>>><<>>><<<>>>><<<<>><<<>>>><<<>>>><<<<>>><<<<><<<><<>><<<<>>>><<<<>>>><<>>><<<>>>><<<>>>><<>>><<>>><<>>><<>>>><<>>><<>>><<><<<<>>>><>>>><<<><<>>><<>><<<<>><>>>><><<>>>><<<<>>><<>><<<>><<<>>>><<><><<>><<<<><>><<<<>>><><<>>><>><<<>>><<<<><>><>><<>>>><><<<>>>><<<<><<<>><<>>><<>><<<<>><<>>><>>>><<<<>><>>><>>><<>>>><<<>>>><<>><<>>>><>>>><<<<>>>><>>><<<<>>>><<<>>><<><<<>><<<>><<><><<<>>>><<<<>><<<><<<<>>><<<<><<<><<>><<>><<>>><>>>><<<<>><<<>>><>>>><<>><<<<>><>><>>><<<<><<<><<<<><<<<>>>><<<<>>>><>>>><<<>><<>>><><><>><<<>>><<>><<<<>>><<<>><<<>><<><<<<>><>>>><<<>>><<<><>>><>>><<>>><><<<<>><<<>><<>><<>>>><<<>>><><<<>>>><>>>><<<<>>>><<<<><<>>><<>>>><>><<<>>>><<>><<>><>>><>>><<>>><<<<>><>>>><>>><>><<<<><<>>><<<>>><<<>>>><<<>><<><<>><<>>>><<>>><>><<>>><>>>><<<<>>><<>><>><<<><>>>><<>>>><<<>>>><<>><<>>>><<>><<<>><<<<>>>><><<>>>><>><<>><<<>>><<<<>>>><<>>>><<><<>>>><<>><<>>>><>>><<<<>>>><>>><<<>>>><<<>><<<<>>>><<<>>>><>>><<<>>><>><>><<<>><<<><<>><<<>><>>>><>>><>>><<>>><<<>>>><<<<><<<>><<<<>><<<<>><>>>><<<>><<><><><<<<><<<<>>>><<>>><>>>><><<<<>>><>><>><>>><<<>>>><>>>><<><<<<>>><<<<>>><<>><><><><<<>>><<<<>><<>><<<>>>><>>><>>><<>>>><<<<>><<>>><<>><<<><>><<<<>><<>>><<<><<<>>>><<<><<><>>>><<>>>><<<<>><<>><<<><<<>>><>><<<>><<<<><<<>>>><>>>><<<>>>><><>>>><<>><<<<>>><<>><<>><>>><<<<>>><<>><<<>>><<<<><<<<>>><<<><<>>><<<<><<>>>><>><<<<>><><<<<>>><<<>>>><<<<>><><<>><<<>><>>>><<<>>>><<<>>><>><<><<<>><>><<>>><><<<<>>>><<<<>>>><<>>>><>>><<>>><<<><>>><<>>>><<<<>>>><<<>>>><>><<<<>>><<>><<<<>><<<<>><<><<<><>>>><<><<<>>>><>><<>>><>>><<>>><<<>>>><<<<>>>><<>><<<<><<<<><><<<>>><<<<>><<>>><<<>>><<<<>>><<<>><<><<<<>><<><<<>><<<<>><<<<>>>><>>><<<<>><<>><>>>><<>>>><<<<>>>><<<>>>><<<<><<<<>><>><>><<<<>><>><<<<><<<>>>><<<<><<>>>><>><<<<>>><<<>>><><>>><<<>><>><<>><>>>><>><<<>>><<<>><<<<>>><<>>>><<<<><<<>>>><<<<><<>><><<<>><>><<<<>>>><<<>>>><<<>>>><><<<<><<<<>><<<><<>><<>>><<<>>><>>>><<<>>>><<<>><><<<<><<<><><>>>><<<>><<<>>>><<<>>><<<>><<><<><>><<><<<<>>><<<<><><><<>>>><>><<<<>>>><<<<>>><<><<>><<>>><>>>><<<>><<<<><<<><<<<>><<<>>><<>>><<<<>><>>>><<<<>><>><><<<<>>><<<>>><<>>>><<<<>>><<<><<>><<<<><<<><<<<>><<><<><<>>><<<>>>><><<<>>>><<<<>>>><<<>><<<<>><<<<>>><>><<<<>>><>>><<<>><>>><<>>>><>>>><<>><>>>><>><>>><<<>>><>>><<>><<<<>>>><<<<>>><<>>>><<<<>>>><<>>><<>>>><<<>>><<<>>><>>><<<>>><<<>><><<<><<<<>><<>>><<>>><>>><<>><<>>>><<>>><<<>>>><<>>><<<<>><<>>>><>>><<<>>>><<>><>><>>>><<>>><>><><<<<>><<>>><<<<><>>>><<<>><><>>>><<<<>>>><<<>>>><<<>>>><>>><<<><><<<<><>>>><<>>>><<<<>>>><<<<><<<<>><<<<>>>><<<>>>><<><<>><<<>>>><<><<<<>><>>>><<>>>><>>><<<<>>>><<>>>><<<><>>>><<<<>>>><<<<>>><<<<>><><<>><<<><<><<<>><<>><>>>><<><>>><<<>><<<>>><<><<><<<<><>><<><<<>><<<<>><>>><>>>><<<>>>><>>>><<<>><>>>><><>>><<<<>>><<<<>>>><<><><<<><<<>>>><<<>>><<<>><<>>>><<><<<>><<<>><<>>>><<>><<<>>><<<<>>><<<<>><<><>>>><<<>>><<><>><<>><>>>><>>>><>>><<<<>><<><>>><<<<><<<>>>><><<>>>><<<>>>><<>>><<<<>>>><<<<>><>>>><>>>><<<<>>>><<<<>>><<<<><<>><<>>><<<>><<<<><<<>><<>><<<>><<<>><<<>>><<<>>><<>>>><>>>><<<<>>><<<<><<>>>><<>><<<<>><>><<>><<<><<<>>>><>><<<<><<<<>><>>><<>><<<>>>><<<>>>><<>>><<<>>><<><>>>><<<>>><><<<<>><<<><<<<><>>>><>>><<>><<><><><<><>><<<>>>><>>>><<>><<<>><<<<>>>><<>><<<><<>>>><<<<>>><<>>>><<<<>>>><<<>><<><><<<<>>><<>>>><<>>>><<<<>>>><<<<><<<>>>><<<<>><<<<>>><<<<><<<<><<><<<<>>><<>>>><>>><><<<<>><<>>><<<<>>>><<<>>><<<<><><<<<><<>>>><<>><<<<>><><<<<>>><<<<>>>><<>>>><<<<>><<<<><>>><<>>>><<<>>><<><>>><<<>>>><<<><<<<><<><<<>><<<<><<<>><><<<>><><>>><<<<>>><<<>>>><><<<>><<<<><<<<>><<<>><<>><><>>><<<>><<<<>>><<<><>>><<<><>><<>><<>><<<>>>><<<>>>><><<><<<<>>><<>>>><<>>><<>><<<>><<<<>>>><<<><<<><<><<<>>><><<<>>>><<><<>><<<>><>><<>>>><<<>>><<><<>><>><<<<>>>><<>>><<><<<<>>>><<><<>>><>>><<>>>><<<<>><<>><<<<>>>><<<>>><>><><<<>><<<<>><>><<<>><<>><<>><<<<>><<<<><><<<>>>><<<<><<<<>><<<<>>>><<>>><<<><<>>><<<<><<<<>>>><<<>>>><<<<><<<>>><<<>>>><<<<>><<<>>><<<<>>><<<>>>><>>>><<<>>><<<>>>><<<<>><<<<>>><<>>>><>>>><<>>>><<<>><<<<>>><<<>>><>>><<<>>>><<>>>><>>><<><>><<>>>><<><<<>>><<<<>>><<>>><<<>><<<>>><<>>><<<>>>><<<>>>><>>><<<<><>>>><<<>>><><<<><<<>><<<>>><<<<>><<>><<<<>>><<<>>><><<>>><<<>>>><>><<>>>><<<>><<<<>><><>>><>>><<>>>><<>>><><<<<>>>><<>>>><<<<>>>><<<<>><<<<>>>><<>>>><<>>><>><>>><<<>>>><<<><<>>><<<<><<<><<>>>><>><<<<>><<>>><><<<><<<><<<>>>><>><><<<<>>>><<<<>>><>>><<<>>>><>><<<>><<><<<<>><>>><>>>><<<<>><<>><>><<<>>>><><>>>><<>>>><>>><<<><<<>><<><<>>><<<<>><<>>><<>>><<<<>>><<<>><<<>><<>><<<<>>>><><<><<<<><<>><<<<><<>>><<>>><<><<<>>><<><<<<>>>><<<>>><<<<>>><<<>>><>>><<>><<<><<<>>>><>><<<<>><<<>>>><<<><<>><<<<>><>><<<<>><<<<>>><<<<>>><>><<<>>><>>><>>>><>>>><<<>>><<<><<<>><<>>>><<<>>><><<>>><>>><>>><<>>>><>>>><<<>><<<><>><<<<>>>><<>>><<<<>>><<<>><<<>>><<<>><>>>><<<<><<<<>>><>>><<<<>>>><<<>><<<<><<>>><<>>>><<<><<<><>>>><<>>><<<<><<<<><<<<><<<<>>><<<<>>><<>><<<><<<>>><<>><>>>><>>><<<<>><<>>><<>>><<<<><<<>>>><<><>>><<<<><<<><<<<>>>><>>>><<<<>>>><<>>>><<>>><<<>>>><<>>><<>><<<<>><<>>>><<><<<<>>>><<<<>>><<><>><<<>><>><><>>>><<<>>>><<<<>>>><<>><<>>><<<<><<<>>><<<>>>><>>>><<>>><<>>><<<>>>><<>>><>>>><<>>>><<<<>>><>><<<>>><<<<>>><>>>><>>>><<<<>>><>>><>><<>>><>><<<<>>><>>>><>>><<<><<><<<<><<<<>>>><<>>><<<<><<<>>>><<<<>>>><<>><<<>>>><<<<>><<>>>><<<>>><>><<<<>>>><<<<>>>><<<<>><><<<<>>><<<<>><<<<>>><<<>><<>><<>>>><<<<>>>><<><>>><<<>>>><<<<>>>><<<>>><>>>><<>>><><<<<>><<<><<>>><<<<><<>>><<<><<<><<<<>>>><<>><>>><<<<>>>><>><><<<<>>><<>>><<<>>><>>>><>>>><><>>><<<<>>><<<>>><<><<<>><<<>>><<<>>><<<<>><<<>>>><<<>>>><<<>><<<<><<<<>><><>>><<>>><<<<><<><<>><<<<>>><<<<>>><<<<>><<><<<>><><<>><<<>>>><<<><<<><<<<>>>><<<><<<<>><<<>>>><>>><<<<>>><<<<>>>><<>><><<<>>>><<>><<<<>>><<<>><<<<><<<>><>>><<<><<<<><<<>>><<<<>>><<<<><<>>><>><<<<>><<><<>>><<<<><<>>><<><<>>>><<<<><<<><>>><<>>>><<>>>><><<>><<<>>><>><<><<<<>>>><<>>>><<<>>>><>>><<<>><<<>>><><>><<>><>><<>><<<><<<<>>>><<<>>><<>><<<>>><<><>>><<>><<<>>><<<><<>>>><>><>>><><<<>>>><<<<><<<>><<<><<<><>>><<<>>><<>><>>>><>>><<
diff --git a/2022/17/solution.rs b/2022/17/solution.rs
@@ -0,0 +1,149 @@
-1 1 use std::collections::HashSet;
-1 2
-1 3 #[path = "../lib.rs"] mod lib;
-1 4
-1 5 struct Shape {
-1 6 blocks: HashSet<(i64, i64)>,
-1 7 bottom: HashSet<(i64, i64)>,
-1 8 left: HashSet<(i64, i64)>,
-1 9 right: HashSet<(i64, i64)>,
-1 10 width: i64,
-1 11 height: i64,
-1 12 }
-1 13
-1 14 fn make_shape(blocks: Vec<(i64, i64)>) -> Shape {
-1 15 return Shape {
-1 16 blocks: blocks.iter().map(|(x, y)| (*x, *y)).collect(),
-1 17 bottom: blocks.iter().filter(|(x, y)| !blocks.contains(&(*x, *y - 1))).map(|(x, y)| (*x, *y)).collect(),
-1 18 left: blocks.iter().filter(|(x, y)| !blocks.contains(&(*x - 1, *y))).map(|(x, y)| (*x, *y)).collect(),
-1 19 right: blocks.iter().filter(|(x, y)| !blocks.contains(&(*x + 1, *y))).map(|(x, y)| (*x, *y)).collect(),
-1 20 width: blocks.iter().map(|(x, _)| *x).max().unwrap() + 1,
-1 21 height: blocks.iter().map(|(_, y)| *y).max().unwrap() + 1,
-1 22 };
-1 23 }
-1 24
-1 25 fn get_input() -> Vec<bool> {
-1 26 let mut moves = vec![];
-1 27 for line in lib::iter_input() {
-1 28 for c in line.chars() {
-1 29 match c {
-1 30 '<' => moves.push(false),
-1 31 '>' => moves.push(true),
-1 32 _ => unreachable!(),
-1 33 }
-1 34 }
-1 35 }
-1 36 return moves;
-1 37 }
-1 38
-1 39 fn render(covered: &HashSet<(i64, i64)>) {
-1 40 // let width = covered.iter().map(|(x, _)| *x).max().unwrap() + 1;
-1 41 let width = 7;
-1 42 let height = covered.iter().map(|(_, y)| *y).max().unwrap() + 1;
-1 43
-1 44 for y in (0..height + 3).rev() {
-1 45 for x in 0..width {
-1 46 if covered.contains(&(x, y)) {
-1 47 print!("#");
-1 48 } else {
-1 49 print!(".");
-1 50 }
-1 51 }
-1 52 print!("\n");
-1 53 }
-1 54 print!("\n");
-1 55 }
-1 56
-1 57 fn part1(moves: &Vec<bool>, shapes: &[Shape; 5], width: i64, n: usize) -> i64 {
-1 58 let mut height = 0;
-1 59 let mut move_i = 0;
-1 60 let mut covered: HashSet<(i64, i64)> = HashSet::new();
-1 61
-1 62 for i in 0..n {
-1 63 let shape = &shapes[i % shapes.len()];
-1 64 let mut x = 2;
-1 65 let mut y = height + 3;
-1 66
-1 67 // for _ in 0..3 {
-1 68 // if moves[move_i] {
-1 69 // if x + shape.width + 1 < width {
-1 70 // x += 1;
-1 71 // }
-1 72 // } else {
-1 73 // if x > 0 {
-1 74 // x -= 1;
-1 75 // }
-1 76 // }
-1 77 // move_i = (move_i + 1) % moves.len();
-1 78 // }
-1 79
-1 80 loop {
-1 81 let move_right = moves[move_i];
-1 82 if move_right {
-1 83 if x + shape.width < width && shape.right.iter().all(|(xs, ys)| !covered.contains(&((x + *xs + 1, y + *ys)))) {
-1 84 x += 1;
-1 85 }
-1 86 } else {
-1 87 if x > 0 && shape.left.iter().all(|(xs, ys)| !covered.contains(&((x + *xs - 1, y + *ys)))) {
-1 88 x -= 1;
-1 89 }
-1 90 }
-1 91 move_i = (move_i + 1) % moves.len();
-1 92
-1 93 if y > 0 && shape.bottom.iter().all(|(xs, ys)| !covered.contains(&((x + *xs, y + *ys - 1)))) {
-1 94 y -= 1;
-1 95 } else {
-1 96 break;
-1 97 }
-1 98 }
-1 99
-1 100 covered.extend(shape.blocks.iter().map(|(xs, ys)| (x + xs, y + ys)));
-1 101 height = (y + shape.height).max(height);
-1 102
-1 103 // render(&covered);
-1 104 }
-1 105 // render(&covered);
-1 106
-1 107 return height;
-1 108 }
-1 109
-1 110 fn main() {
-1 111 let moves = get_input();
-1 112 let shapes = [
-1 113 make_shape(vec![
-1 114 (0, 0),
-1 115 (1, 0),
-1 116 (2, 0),
-1 117 (3, 0),
-1 118 ]),
-1 119 make_shape(vec![
-1 120 (1, 1),
-1 121 (0, 1),
-1 122 (2, 1),
-1 123 (1, 0),
-1 124 (1, 2),
-1 125 ]),
-1 126 make_shape(vec![
-1 127 (0, 0),
-1 128 (1, 0),
-1 129 (2, 0),
-1 130 (2, 1),
-1 131 (2, 2),
-1 132 ]),
-1 133 make_shape(vec![
-1 134 (0, 0),
-1 135 (0, 1),
-1 136 (0, 2),
-1 137 (0, 3),
-1 138 ]),
-1 139 make_shape(vec![
-1 140 (0, 0),
-1 141 (1, 0),
-1 142 (0, 1),
-1 143 (1, 1),
-1 144 ]),
-1 145 ];
-1 146
-1 147 println!("part1: {}", part1(&moves, &shapes, 7, 2022));
-1 148 // println!("part2: {}", part2(&optimized, 26));
-1 149 }
diff --git a/2022/17/test.txt b/2022/17/test.txt
@@ -0,0 +1 @@ -1 1 >>><<><>><<<>><>>><<<>>><<<><<<>><>><<>>