From 264881428ee649889a1b763d41358cba6c6f299d Mon Sep 17 00:00:00 2001 From: Matuush Date: Wed, 11 Dec 2024 07:54:21 +0100 Subject: [PATCH] Brute force is now implemented within minimax --- solver.cpp | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/solver.cpp b/solver.cpp index 56e709d..f9520f5 100644 --- a/solver.cpp +++ b/solver.cpp @@ -13,24 +13,6 @@ bool Solver::all_are_consistent(vector supposed_sequence) { return true; } -// Try all remaining sequences -vector Solver::brute_force(vector> *possibilities, vector *chosen, int index) { - vector r(N, -1); - if(index == N) { - if(all_are_consistent(*chosen)) - r = *chosen; - return r; - } - for(int col : (*possibilities)[index]) { - chosen->push_back(col); - r = brute_force(possibilities, chosen, index+1); - if(r[0] != -1) - return r; - chosen->pop_back(); - } - return r; -} - int Solver::get_weight(vector guess) { if(!all_are_consistent(guess)) return -1; @@ -67,8 +49,7 @@ vector Solver::guess() { auto possibilities = known.list_all_possibilities(); auto chosen = vector(0); - // TODO make it smart - return brute_force(&possibilities, &chosen, 0); + return minimax(&possibilities, &chosen, 0).guess; } // Prints what the solver deduced