use microlp::{ComparisonOp, OptimizationDirection, Problem}; use std::collections::VecDeque; fn main() { let input = include_str!("../../input/10"); println!("Part 1: {}", part1(input)); println!("Part 2: {}", part2(input)); } #[test] fn example() { let input = include_str!("../../input/10-test"); assert_eq!(part1(input), 7); assert_eq!(part2(input), 33); } fn part1(input: &str) -> usize { parse_input(input).iter().map(minimum_light_presses).sum() } fn part2(input: &str) -> usize { parse_input(input).iter().map(minimum_joltage_presses).sum() } #[derive(Default, Debug)] struct Machine { required_lights: Vec, buttons: Vec