Implement day 7 part 1.

This commit is contained in:
2019-12-07 08:13:55 +01:00
parent 594c061c60
commit 99b42ff04e
7 changed files with 32 additions and 1 deletions

View File

@@ -1,8 +1,31 @@
#include <iostream>
#include "days.hpp"
#include "utils.hpp"
namespace {
int simulate(const std::vector<int>& program, const std::vector<int> phases) {
int state = 0;
for (int phase : phases) {
auto copy = program;
auto result = aoc2019::run_intcode(copy, { phase, state });
state = result.front();
}
return state;
}
}
void aoc2019::day07_part1(std::istream &input, std::ostream &output) {
output << "Not implemented\n";
const auto program = aoc2019::read_intcode(input);
std::vector<int> phases{0, 1, 2, 3, 4};
int best = 0;
do {
best = std::max(simulate(program, phases), best);
} while (std::next_permutation(phases.begin(), phases.end()));
output << best << std::endl;
}
void aoc2019::day07_part2(std::istream &input, std::ostream &output) {

View File

@@ -0,0 +1 @@
3,15,3,16,1002,16,10,16,1,16,15,15,4,15,99,0,0

View File

@@ -0,0 +1 @@
43210

View File

@@ -0,0 +1,2 @@
3,23,3,24,1002,24,10,24,1002,23,-1,23,
101,5,23,23,1,24,23,23,4,23,99,0,0

View File

@@ -0,0 +1 @@
54321

View File

@@ -0,0 +1,2 @@
3,31,3,32,1002,32,10,32,1001,31,-2,31,1007,31,0,33,
1002,33,7,33,1,33,31,31,1,32,31,31,4,31,99,0,0,0

View File

@@ -0,0 +1 @@
65210