Add solution for "Day 22: Monkey Market", part 2

This commit is contained in:
2025-06-10 21:27:09 +02:00
parent f025896e84
commit f312893ed1
4 changed files with 60 additions and 2 deletions

View File

@@ -15,12 +15,15 @@
#pragma once
#include <unordered_map>
#include <aoc/framework/Solver-types.hpp>
class MonkeyMarket
: public Solver<int64_t, int64_t>
{
public:
MonkeyMarket(const int inputFileNameSuffix = 0);
virtual const std::string getPuzzleName() const override;
virtual const int getPuzzleDay() const override;
virtual void processDataLine(const std::string& line) override;
@@ -28,4 +31,8 @@ class MonkeyMarket
private:
static constexpr int getNSecretNumbers();
static constexpr uint64_t getPruneValue();
static constexpr int getPriceModulo();
uint64_t nBuyers_;
std::unordered_map<uint64_t, std::pair<uint64_t, int>> sequenceResults_;
void updateNewRollingChangeSequence(uint64_t& rollingChangeSequence, const uint64_t change);
};