run formatter

This commit is contained in:
Adam Jeniski 2022-01-07 03:46:30 -05:00
parent ea0f371b85
commit ad6b1b1c93

View File

@ -2,7 +2,6 @@
* File: day09.rs * File: day09.rs
* Author: Adam Jeniski; @Ajetski * Author: Adam Jeniski; @Ajetski
*/ */
use std::collections::{HashSet, LinkedList}; use std::collections::{HashSet, LinkedList};
type Position = (usize, usize); type Position = (usize, usize);
@ -31,7 +30,7 @@ fn get_local_mins(data: &Vec<Vec<u64>>) -> Vec<Position> {
mins mins
} }
/** use a BFS to count all of the nodes in the basin */ /** use a BFS to count all of the nodes in the basin */
fn get_basin_size_from_min(data: &Vec<Vec<u64>>, start: Position) -> u64 { fn get_basin_size_from_min(data: &Vec<Vec<u64>>, start: Position) -> u64 {
/* queue: pop from front; push to back */ /* queue: pop from front; push to back */
let mut search_queue = LinkedList::from([start]); let mut search_queue = LinkedList::from([start]);
@ -42,14 +41,21 @@ fn get_basin_size_from_min(data: &Vec<Vec<u64>>, start: Position) -> u64 {
let (row, col) = search_queue.pop_front().unwrap(); let (row, col) = search_queue.pop_front().unwrap();
let mut directions = vec![]; let mut directions = vec![];
if row > 0 { directions.push((row - 1, col)); } if row > 0 {
if col > 0 { directions.push((row, col - 1)); } directions.push((row - 1, col));
if row < data.len() - 1 { directions.push((row + 1, col)); } }
if col < data[row].len() - 1 { directions.push((row, col + 1)); } if col > 0 {
directions.push((row, col - 1));
}
if row < data.len() - 1 {
directions.push((row + 1, col));
}
if col < data[row].len() - 1 {
directions.push((row, col + 1));
}
for (next_row, next_col) in directions { for (next_row, next_col) in directions {
if data[next_row][next_col] != 9 if data[next_row][next_col] != 9 && !visited.contains(&(next_row, next_col)) {
&& !visited.contains(&(next_row, next_col)) {
search_queue.push_back((next_row, next_col)); search_queue.push_back((next_row, next_col));
count += 1; count += 1;
} }