]> git.llucax.com Git - z.facultad/75.29/susanita.git/blobdiff - src/main.cpp
Agrega graficos bien y corrige/agrega analisis de orden de GS y BT.
[z.facultad/75.29/susanita.git] / src / main.cpp
index 3ca0e02a099072f72db2a6d49c008cfd49e4b258..b3a5110f03f601c378b5d38a960f33fd0ea912a9 100644 (file)
@@ -11,8 +11,10 @@ main(int argc, char* argv[])
        switch (argc)
        {
                case 2: //Gale-Sharpley por default
        switch (argc)
        {
                case 2: //Gale-Sharpley por default
-                       // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
-                       susanita = new GaleShapley(Parser::get_n(argv[1]) * 2);
+                       // 2N*2 para asegurar que el hash este ocupado al 50%
+                       // y sea O(1) (2N porque guarda nombres de mujer y de
+                       // hombre y * 2 para que esté ocupado al 50%)
+                       susanita = new GaleShapley(Parser::get_n(argv[1]) * 4);
                        break;
                case 3: // BackTracking se especifica con tercer parámetro "-bt"
                        if (strcmp(argv[2], "-bt"))
                        break;
                case 3: // BackTracking se especifica con tercer parámetro "-bt"
                        if (strcmp(argv[2], "-bt"))
@@ -20,17 +22,14 @@ main(int argc, char* argv[])
                                std::cerr << "Uso: " << argv[0] << " archivo_entrada [-bt]\n";
                                return 1;
                        }
                                std::cerr << "Uso: " << argv[0] << " archivo_entrada [-bt]\n";
                                return 1;
                        }
-                       // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
-                       susanita = new BackTracking (Parser::get_n(argv[1]) * 2);
+                       // Ver anterior
+                       susanita = new BackTracking (Parser::get_n(argv[1]) * 4);
                        break;
                default:
                        std::cerr << "Uso: " << argv[0] << " archivo_entrada [-bt]\n";
                        return 2;
        }
                        break;
                default:
                        std::cerr << "Uso: " << argv[0] << " archivo_entrada [-bt]\n";
                        return 2;
        }
-
-       // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
        Parser p(*susanita);
        Parser p(*susanita);
-
        if (!p.input(argv[1]))
        {
                std::cerr << "Error al abrir el archivo '" << argv[1] << "'\n";
        if (!p.input(argv[1]))
        {
                std::cerr << "Error al abrir el archivo '" << argv[1] << "'\n";
@@ -39,9 +38,7 @@ main(int argc, char* argv[])
        }
        timer t;
        susanita->casamentear();
        }
        timer t;
        susanita->casamentear();
-       std::cerr << t << "\n";
        p.output();
        p.output();
-
        // Todo OK
        delete susanita;
        return 0;
        // Todo OK
        delete susanita;
        return 0;