Day t/m 6p1 done

This commit is contained in:
Jos van Goor 2024-12-14 14:51:40 +01:00
parent 7ed2746251
commit aecb2f2278
42 changed files with 3188 additions and 34 deletions

View file

@ -0,0 +1,27 @@
pub fn solve(input: &str) {
let grid = input.lines().map(|str| str.as_bytes()).collect::<Vec<_>>();
let width = grid[0].len() as i32;
let height = grid.len() as i32;
let words = ((b'M', b'A', b'S'), (b'S', b'A', b'M'));
let mut matches = 0;
for xpos in 1..(width - 1) {
for ypos in 1..(height - 1) {
if grid[xpos as usize][ypos as usize] == b'A' {
let left = (grid[(xpos - 1) as usize][(ypos - 1) as usize],
grid[(xpos) as usize][(ypos) as usize],
grid[(xpos + 1) as usize][(ypos + 1) as usize]);
let right = (grid[(xpos + 1) as usize][(ypos - 1) as usize],
grid[(xpos) as usize][(ypos) as usize],
grid[(xpos - 1) as usize][(ypos + 1) as usize]);
if (left == words.0 || left == words.1) && (right == words.0 || right == words.1) {
matches += 1;
}
}
}
}
println!("matches: {}", matches);
}