#include "field.hpp" #include "clusters.hpp" #include "solver.hpp" #include #include #include template auto is_void(Field const & field){ for(auto&& p : field.all_positions()){ if(!field.empty(p)) return false; } return true; } int main(){ using namespace std; // constexpr auto W = 10; // constexpr auto H = 10; // auto field = create_rectangular_field({ // 2, 1, 1, 1, 2, 1, 2, 4, 1, 2, // 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, // 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, // 2, 1, 1, 4, 2, 4, 2, 1, 2, 1, // 1, 1, 1, 3, 2, 2, 2, 3, 3, 4, // 3, 2, 2, 1, 1, 1, 2, 2, 2, 2, // 1, 1, 2, 1, 3, 1, 1, 4, 2, 3, // 1, 1, 1, 1, 3, 1, 3, 2, 1, 2, // 1, 1, 1, 1, 2, 4, 1, 3, 1, 2, // 1, 1, 1, 1, 2, 2, 1, 1, 4, 9 // }); constexpr auto W = 9; constexpr auto H = 9; auto field = create_rectangular_field({ 2, 1, 1, 1, 2, 1, 2, 4, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 4, 2, 4, 2, 1, 2, 1, 1, 1, 3, 2, 2, 2, 3, 3, 3, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1, 3, 1, 1, 4, 2, 1, 1, 1, 1, 3, 1, 3, 2, 1, 1, 1, 1, 1, 2, 4, 1, 3, 9 }); field.print(std::cout); cout << solve(field) << std::endl; }