Only print final results

This commit is contained in:
kageru 2019-12-07 07:43:00 +01:00
parent 9d3bf0f6be
commit b2e5521dc0
Signed by: kageru
GPG Key ID: 8282A2BEA4ADA3D2

View File

@ -160,28 +160,25 @@ pub fn main() {
.map(|n| n.parse().unwrap()) .map(|n| n.parse().unwrap())
.collect(); .collect();
/* let p1: i64 = (0..5).permutations(5).map(|amps| {
println!("Part 1:");
for amps in (0..5).permutations(5) {
let mut last_output = 0; let mut last_output = 0;
for amp in amps { for amp in amps {
let mut pos = 0; let mut pos = 0;
let mut part1_input = input.clone(); let mut part1_input = input.clone();
let mut inputs = vec![amp, last_output].into_iter(); let mut inputs = vec![last_output, amp];
while let Some(op) = next_operation(&part1_input, &mut pos, &mut inputs) { while let Some(op) = next_operation(&part1_input, &mut pos, &mut inputs) {
if let Some(o) = execute(op, &mut part1_input, &mut pos) { if let Some(o) = execute(op, &mut part1_input, &mut pos) {
last_output = o; last_output = o;
break; break;
} }
} }
println!("{}", last_output);
} }
} last_output
*/ }).max().unwrap();
println!("Part 1: {}", p1);
println!("Part 2:"); let p2: i64 = (5..10).permutations(5).map(|mut amps| {
for mut amps in (5..10).permutations(5) { //for mut amps in (5..10).permutations(5) {
//for mut amps in vec![vec![5, 6, 7, 8, 9]] {
let mut last_output = 0; let mut last_output = 0;
let mut inputs = vec![ let mut inputs = vec![
vec![amps.pop().unwrap()], vec![amps.pop().unwrap()],
@ -204,8 +201,6 @@ pub fn main() {
let mut pos = positions.get_mut(state).unwrap(); let mut pos = positions.get_mut(state).unwrap();
let mut params = inputs.get_mut(state).unwrap(); let mut params = inputs.get_mut(state).unwrap();
params.insert(0, last_output); params.insert(0, last_output);
//let mut input = vec![amp, last_output].into_iter();
//dbg!("before execution", inputs.clone().collect::<Vec<_>>());
loop { loop {
match next_operation(&part1_input, &mut pos, &mut params) { match next_operation(&part1_input, &mut pos, &mut params) {
Some(op) => { Some(op) => {
@ -224,6 +219,7 @@ pub fn main() {
break; break;
} }
} }
println!("{}", last_output); last_output
} }).max().unwrap();
println!("Part 2: {}", p2);
} }