Day 16, part 2

This commit is contained in:
jazzpi
2022-12-21 21:44:12 +01:00
parent 49368e7985
commit a0fa5256e9
3 changed files with 231 additions and 48 deletions

View File

@ -3,15 +3,17 @@ use aoc22::{
util::{self, BnBState},
};
const TOTAL_TIME: usize = 30;
pub fn main() {
let valves = day16::parse_valves(&util::parse_input());
let paths = day16::calc_paths(&valves);
let state = day16::State::new(&valves, false);
let state = day16::State::new(&valves, TOTAL_TIME, 1);
let score = util::maximize(&state, &(&valves, &paths));
let state = util::maximize(&state, &(&valves, &paths));
println!(
"Most pressure released is {}",
score.lower_bound(&(&valves, &paths))
state.lower_bound(&(&valves, &paths))
);
}

20
src/bin/d16p2.rs Normal file
View File

@ -0,0 +1,20 @@
use aoc22::{
day16,
util::{self, BnBState},
};
const TOTAL_TIME: usize = 26;
const N_AGENTS: usize = 2;
pub fn main() {
let valves = day16::parse_valves(&util::parse_input());
let paths = day16::calc_paths(&valves);
let state = day16::State::new(&valves, TOTAL_TIME, N_AGENTS);
let state = util::maximize(&state, &(&valves, &paths));
println!(
"Most pressure released is {}",
state.lower_bound(&(&valves, &paths))
);
}