This commit is contained in:
RingOfStorms (Joshua Bell) 2023-12-14 03:11:55 -06:00
parent b3f933552b
commit a8ac3e18e6
4 changed files with 168 additions and 2 deletions

View file

@ -23,7 +23,7 @@ fn part1(input: String) -> Result<usize> {
// algo
let a_start = Instant::now();
let answer = 0;
let mut answer = 0;
let algo_time = a_start.elapsed();
// output
@ -42,7 +42,7 @@ fn part2(input: String) -> Result<usize> {
// algo
let a_start = Instant::now();
let answer = 0;
let mut answer = 0;
let algo_time = a_start.elapsed();
// output

View file

@ -1 +1,38 @@
use aoc23::prelude::*;
#[derive(Debug, Clone)]
enum Tile {
None,
Round,
Square,
}
fn get_columns<'a>(matrix: &'a mut Vec<Vec<Tile>>) -> Vec<Vec<&'a mut Tile>> {
let mut columns = vec![];
let cols = matrix.first().map_or(0, Vec::len);
let rows = matrix.len();
for col_idx in 0..cols {
let mut column = vec![];
for row_idx in 0..rows {
column.push(&mut matrix[row_idx][col_idx]);
}
columns.push(column);
}
columns
}
fn tilt(rocks: &mut Vec<&mut Tile>) {
for rock in rocks.iter_mut() {
**rock = Tile::Round;
}
}
fn main() -> Result<()> {
// 10 x 10 grid of None
let mut matrix: Vec<Vec<Tile>> = vec![vec![Tile::None; 10]; 10];
println!("BEFORE:\n{:?}", matrix);
let mut columns = get_columns(&mut matrix);
tilt(columns.get_mut(0).unwrap());
println!("AFTER:\n{:?}", matrix);
Ok(())
}