Files
2021-04-16 10:28:56 +03:00

33 lines
748 B
Rust

use std::fs;
fn count(field: &Vec<Vec<char>>, dx: usize, dy: usize) -> usize {
let mut x = 0;
let mut y = 0;
let mut count = 0;
while y < field.len() {
if field[y][x] == '#' {
count += 1;
}
x = (x + dx) % field[0].len();
y += dy;
}
return count;
}
fn main() {
let contents = fs::read_to_string("input").unwrap();
let mut field: Vec<Vec<char>> = vec![];
for line in contents.lines() {
field.push(line.chars().collect());
}
println!(
"{} {}",
count(&field, 3, 1),
count(&field, 1, 1)
* count(&field, 3, 1)
* count(&field, 5, 1)
* count(&field, 7, 1)
* count(&field, 1, 2)
)
}