#pragma once #include #ifndef MAX_SOLUTIONS #define MAX_SOLUTIONS 10000 #endif class Puzzle; class Solver { public: static std::vector Solve(Puzzle& p); private: static void SolveLoop(Puzzle& p, int x, int y, std::vector& solutions); };