// COMPLETA LO QUE FALTA #include #include using namespace std; #include #define INFINITO numeric_limits::infinity() /*************************************************************************** VERSION 1: RECURSIVA, INEFICIENTE ***************************************************************************/ /*************************************************************************** VERSION 2: RECURSIVA, EFICIENTE ***************************************************************************/ /*************************************************************************** VERSION 3: NO RECURSIVA, EFICIENTE ***************************************************************************/ /*************************************************************************** EJEMPLO ***************************************************************************/ int main() { vector > ejemplo = { {3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 5, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0}, {0, 0, 0, -1, -1, 1, 3, -1, -1, 0, 0, 0, -1, 0, 0}, {0, 5, 0, 9, -1, 2, 4, -1, 9, 0, 0, 0, -1, 0, 0}, {-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 5}, {-1, 0, 0, 3, 2, -1, -1, 2, 3, 0, 0, 0, -1, 0, 0}, {-1, 0, 0, 4, -1, -1, -1, -1, 4, 0, 0, 0, -1, 0, 5}, {0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0}, {7, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, 0, 5}, {0, 0, 0, 0, -1, -1, -1, -1, 1, 1, 1, 1, 1, 2, 4} }; float cantidadMaxima = maxPuntos(ejemplo); cout << "Cantidad de puntos maxima: " << cantidadMaxima << endl; if (cantidadMaxima == 41) cout << "OK" << endl; else cout << "MAL" << endl; }