summaryrefslogtreecommitdiffstats
path: root/src/2021/7/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/2021/7/mod.rs')
-rw-r--r--src/2021/7/mod.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/2021/7/mod.rs b/src/2021/7/mod.rs
index ce942dc..8ddd46e 100644
--- a/src/2021/7/mod.rs
+++ b/src/2021/7/mod.rs
@@ -1,11 +1,10 @@
-pub fn parse(fh: std::fs::File) -> anyhow::Result<Vec<i64>> {
- Ok(
- crate::util::parse::ints(crate::util::parse::split(fh, b','))
- .collect(),
- )
+use crate::prelude::*;
+
+pub fn parse(fh: File) -> Result<Vec<i64>> {
+ Ok(parse::ints(parse::split(fh, b',')).collect())
}
-pub fn part1(crabs: Vec<i64>) -> anyhow::Result<i64> {
+pub fn part1(crabs: Vec<i64>) -> Result<i64> {
Ok((0..=crabs.iter().copied().max().unwrap())
.map(|start| {
crabs.iter().copied().map(|crab| (crab - start).abs()).sum()
@@ -14,7 +13,7 @@ pub fn part1(crabs: Vec<i64>) -> anyhow::Result<i64> {
.unwrap())
}
-pub fn part2(crabs: Vec<i64>) -> anyhow::Result<i64> {
+pub fn part2(crabs: Vec<i64>) -> Result<i64> {
Ok((0..=crabs.iter().copied().max().unwrap())
.map(|start| {
crabs
@@ -33,11 +32,11 @@ pub fn part2(crabs: Vec<i64>) -> anyhow::Result<i64> {
#[test]
fn test() {
assert_eq!(
- part1(parse(crate::util::data(2021, 7).unwrap()).unwrap()).unwrap(),
+ part1(parse(parse::data(2021, 7).unwrap()).unwrap()).unwrap(),
333755
);
assert_eq!(
- part2(parse(crate::util::data(2021, 7).unwrap()).unwrap()).unwrap(),
+ part2(parse(parse::data(2021, 7).unwrap()).unwrap()).unwrap(),
94017638
);
}