aboutsummaryrefslogtreecommitdiff
path: root/2022/05/b.rs
diff options
context:
space:
mode:
Diffstat (limited to '2022/05/b.rs')
-rw-r--r--2022/05/b.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/2022/05/b.rs b/2022/05/b.rs
new file mode 100644
index 0000000..824ee5e
--- /dev/null
+++ b/2022/05/b.rs
@@ -0,0 +1,20 @@
1mod common;
2use common::*;
3
4fn apply_move(grid: &mut Vec::<Vec::<char>>, line: &str) {
5 let (n, from, to) = read_move(&line);
6
7 let first_moved = grid[from-1].len()-n;
8 let len = grid[from-1].len();
9 for i in first_moved..len {
10 let x = grid[from-1][i];
11 grid[to-1].push(x);
12 }
13 grid[from-1].drain(first_moved..len);
14}
15
16fn main() {
17 let mut grid = get_grid_from_stdin();
18 apply_moves_from_stdin(&mut grid, apply_move);
19 print_top(&grid);
20}

Generated with cgit - Back to sebastiano.tronto.net