summaryrefslogtreecommitdiffstats
path: root/src/2021/11/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/2021/11/mod.rs')
-rw-r--r--src/2021/11/mod.rs22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/2021/11/mod.rs b/src/2021/11/mod.rs
index 38a1836..c153ddc 100644
--- a/src/2021/11/mod.rs
+++ b/src/2021/11/mod.rs
@@ -1,4 +1,4 @@
-use crate::util::grid::*;
+use crate::prelude::*;
fn iterate(grid: &mut Grid<(u8, bool)>) -> i64 {
let mut flashes = 0;
@@ -42,16 +42,14 @@ fn iterate(grid: &mut Grid<(u8, bool)>) -> i64 {
flashes
}
-pub fn parse(fh: std::fs::File) -> anyhow::Result<Grid<(u8, bool)>> {
- Ok(
- crate::util::parse::digit_grid(crate::util::parse::lines(fh))
- .indexed_cells()
- .map(|((row, col), cell)| ((row, col), (*cell, false)))
- .collect(),
- )
+pub fn parse(fh: File) -> Result<Grid<(u8, bool)>> {
+ Ok(parse::digit_grid(parse::lines(fh))
+ .indexed_cells()
+ .map(|((row, col), cell)| ((row, col), (*cell, false)))
+ .collect())
}
-pub fn part1(mut map: Grid<(u8, bool)>) -> anyhow::Result<i64> {
+pub fn part1(mut map: Grid<(u8, bool)>) -> Result<i64> {
let mut flashes = 0;
for _ in 0..100 {
flashes += iterate(&mut map);
@@ -59,7 +57,7 @@ pub fn part1(mut map: Grid<(u8, bool)>) -> anyhow::Result<i64> {
Ok(flashes)
}
-pub fn part2(mut map: Grid<(u8, bool)>) -> anyhow::Result<i64> {
+pub fn part2(mut map: Grid<(u8, bool)>) -> Result<i64> {
let mut step = 1;
loop {
let flashes = iterate(&mut map);
@@ -74,11 +72,11 @@ pub fn part2(mut map: Grid<(u8, bool)>) -> anyhow::Result<i64> {
#[test]
fn test() {
assert_eq!(
- part1(parse(crate::util::data(2021, 11).unwrap()).unwrap()).unwrap(),
+ part1(parse(parse::data(2021, 11).unwrap()).unwrap()).unwrap(),
1673
);
assert_eq!(
- part2(parse(crate::util::data(2021, 11).unwrap()).unwrap()).unwrap(),
+ part2(parse(parse::data(2021, 11).unwrap()).unwrap()).unwrap(),
279
);
}