]> aoc.elinar.fr Git - aoc_2024/commitdiff
Day11 - part 2 (force brute)
authoralex <>
Wed, 11 Dec 2024 09:59:59 +0000 (10:59 +0100)
committeralex <>
Wed, 11 Dec 2024 09:59:59 +0000 (10:59 +0100)
src/day11.rs

index ea26498d04ece1bc735d40bd8117257e73d3dc64..0304421b30877dcf78b371a162d3996ddd4e0c22 100644 (file)
@@ -40,17 +40,22 @@ fn run_part1(input: &str, blinks: u32) -> Result<u32, Box<dyn Error>> {
     Ok(res)
 }
 
-fn run_part2(input: &str) -> Result<u32, Box<dyn Error>> {
+fn run_part2(input: &str, blinks: u32) -> Result<u32, Box<dyn Error>> {
     println!("Running {} - part 2", get_day());
 
-    Ok(0)
+    let res = input.split_whitespace()
+        .map(|v| v.parse::<u64>().unwrap())
+        .map(|v| count_stones(v, blinks))
+        .sum::<u32>();
+
+    Ok(res)
 }
 
 pub fn run(input: &str) -> Result<(), Box<dyn Error>> {
     let res = run_part1(input, 25)?;
     println!("{res}");
 
-    let res = run_part2(input)?;
+    let res = run_part2(input, 75)?;
     println!("{res}");
 
     Ok(())
@@ -81,9 +86,4 @@ mod tests {
         assert_eq!(22, run_part1(TEXT_INPUT, 6).unwrap());
         assert_eq!(55312, run_part1(TEXT_INPUT, 25).unwrap());
     }
-
-    #[test]
-    fn test_part2() {
-        assert_eq!(0, run_part2(TEXT_INPUT).unwrap());
-    }
 }