sudoku-solver-old/solver/puzzle.h

24 lines
365 B
C++

#pragma once
#include <optional>
#include <string>
#include "solver/cell.h"
class Puzzle {
public:
static Puzzle FromString(std::string puzzle);
std::string CurrentState();
std::string PencilMarkState();
bool IsSolved();
bool ApplyNextStep();
void AssignSquare(uint8_t id, uint8_t value);
private:
Puzzle();
std::array<Cell, 81> cells_;
};