day_7: part 2 done
This commit is contained in:
@@ -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()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,4 +55,5 @@ pub struct Calibration(pub CalibrationResult, pub CalibrationEquation);
|
|||||||
pub enum Operation {
|
pub enum Operation {
|
||||||
SUM,
|
SUM,
|
||||||
MUL,
|
MUL,
|
||||||
|
COMB,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user