Change Solver puzzle title use and add optional input file name suffix
This commit is contained in:
@@ -24,7 +24,7 @@ class BridgeRepair
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -24,7 +24,7 @@ class CeresSearch
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
const char xmas_[4] = { 'X', 'M', 'A', 'S' };
|
||||
|
||||
@@ -26,7 +26,7 @@ class DiskFragmenter
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -26,7 +26,7 @@ class GardenGroups
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
void traverseRegion(Grid<bool>& isVisited, std::stack<Point2>& otherRegionsStack, const Point2& start);
|
||||
|
||||
@@ -22,7 +22,7 @@ class GuardGallivant
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -24,7 +24,7 @@ class HistorianHysteria
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -25,7 +25,7 @@ class HoofIt
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
static constexpr char getTrailheadChar();
|
||||
|
||||
@@ -22,7 +22,7 @@ class LanParty : public Solver
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -25,7 +25,7 @@ class MullItOver
|
||||
public:
|
||||
MullItOver();
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -24,7 +24,7 @@ class PlutonianPebbles : public Solver
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -26,7 +26,7 @@ class PrintQueue
|
||||
public:
|
||||
PrintQueue();
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -24,7 +24,7 @@ class RedNosedReports
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void processDataLine(const std::string& line) override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
|
||||
@@ -27,7 +27,7 @@ class ResonantCollinearity
|
||||
{
|
||||
public:
|
||||
virtual const std::string getPuzzleName() const override;
|
||||
virtual const std::string getInputFileName() const override;
|
||||
virtual const int getPuzzleDay() const override;
|
||||
virtual void finish() override;
|
||||
private:
|
||||
static constexpr char getEmptyChar();
|
||||
|
||||
@@ -20,15 +20,20 @@
|
||||
class Solver
|
||||
{
|
||||
public:
|
||||
Solver();
|
||||
Solver(const int inputFileNameSuffix = 0);
|
||||
virtual ~Solver(){};
|
||||
const std::string getPuzzleTitle() const;
|
||||
const std::string getInputFileName() const;
|
||||
virtual const std::string getPuzzleName() const = 0;
|
||||
virtual const std::string getInputFileName() const = 0;
|
||||
virtual void processDataLine(const std::string &line) = 0;
|
||||
virtual const int getPuzzleDay() const = 0;
|
||||
virtual void processDataLine(const std::string& line) = 0;
|
||||
virtual void finish() = 0;
|
||||
long long int getResultPart1() const;
|
||||
long long int getResultPart2() const;
|
||||
protected:
|
||||
long long int part1;
|
||||
long long int part2;
|
||||
private:
|
||||
int inputFileNameSuffix_;
|
||||
std::string clean(const std::string& original) const;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user