26 lines
568 B
C++
26 lines
568 B
C++
#include <iostream>
|
|
#include <utility>
|
|
|
|
#include <aocpp/Startup.hpp>
|
|
#include <intcode/intcode.hpp>
|
|
using namespace intcode;
|
|
|
|
namespace {
|
|
|
|
auto Compute(Machine machine, ValueType d) -> ValueType {
|
|
ValueType last_output = -1;
|
|
Run(machine,
|
|
[=]() { return d; },
|
|
[&](auto o) { last_output = o; });
|
|
return last_output;
|
|
}
|
|
|
|
} // namespace
|
|
|
|
auto Main(std::istream & in) -> void
|
|
{
|
|
auto machine = Machine{ParseStream(in)};
|
|
std::cout << "Part 1: " << Compute(machine, 1) << std::endl;
|
|
std::cout << "Part 2: " << Compute(std::move(machine), 5) << std::endl;
|
|
}
|