#pragma once #include #include #include "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 cells_; };