1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#pragma once #include <vector> #ifndef MAX_SOLUTIONS #define MAX_SOLUTIONS 10000 #endif class Puzzle; class Solver { public: static std::vector<Puzzle> Solve(Puzzle& p); private: static void SolveLoop(Puzzle& p, int x, int y, std::vector<Puzzle>& solutions); };