day_7: part 2 done

This commit is contained in:
2024-12-10 11:44:35 +01:00
parent 6b271a7817
commit afa053e21e
2 changed files with 7 additions and 1 deletions

View File

@@ -29,7 +29,7 @@ pub fn is_equation_true(equation: &Calibration) -> bool {
} }
pub fn generate_operation_variants(count: usize) -> Vec<Vec<Operation>> { pub fn generate_operation_variants(count: usize) -> Vec<Vec<Operation>> {
let variants = vec![Operation::MUL, Operation::SUM]; let variants = vec![Operation::MUL, Operation::SUM, Operation::COMB];
let variant_list: Vec<Vec<Operation>> = generate_combinations(&variants, count); let variant_list: Vec<Vec<Operation>> = generate_combinations(&variants, count);
variant_list variant_list
@@ -80,6 +80,11 @@ pub fn operate(
Operation::MUL => { Operation::MUL => {
return first * second; return first * second;
} }
Operation::COMB => {
return format!("{}{}", second, first)
.parse::<CalibrationResult>()
.unwrap()
}
} }
} }

View File

@@ -55,4 +55,5 @@ pub struct Calibration(pub CalibrationResult, pub CalibrationEquation);
pub enum Operation { pub enum Operation {
SUM, SUM,
MUL, MUL,
COMB,
} }