Esempio n. 1
0
int main(int argc, char *argv[]) {
    /* assert(gcd(10, 5) == 5); */
    /* assert(gcd(42, 24) == 6); */

    /* for (int i = 1; i < 20; ++i) { */
    /*     for (int j = 1; j < 30; ++j) { */
    /*         printf("TEST %d %d %lld %lld %lld\n", i, j, solve3(i, j), solve4(i, j), solve5(i, j)); */
    /*         assert(solve3(i, j) == solve5(i, j)); */
    /*         assert(solve4(i, j) == solve5(i, j)); */
    /*     } */
    /* } */

    int n = read_int(), m = read_int();

    printf("%lld\n", solve5(n, m));
    /* struct timespec start, end; */
    /* clock_gettime(CLOCK_REALTIME, &start); */
    /* printf("%lld\n", solve3(n, m)); */
    /* clock_gettime(CLOCK_REALTIME, &end); */
    /* printf("3 took %f secs\n", timespec_diff(&start, &end)); */

    /* clock_gettime(CLOCK_REALTIME, &start); */
    /* printf("%lld\n", solve4(n, m)); */
    /* clock_gettime(CLOCK_REALTIME, &end); */
    /* printf("4 took %f secs\n", timespec_diff(&start, &end)); */

    /* clock_gettime(CLOCK_REALTIME, &start); */
    /* printf("%lld\n", solve5(n, m)); */
    /* clock_gettime(CLOCK_REALTIME, &end); */
    /* printf("4 took %f secs\n", timespec_diff(&start, &end)); */

    /* solve4(4, 4); */
    /* for (int i = 10000; i < 20000; ++i) { */
    /*     for (int j = 10000; j < 20000; ++j) { */
    /*         printf("%d %d\n", i, j); */
    /*         assert(solve3(i, j) == solve4(i, j)); */
    /*     } */
    /* } */
    /* struct timespec start, end; */

    /* int base = 1000; */
    /* int mul = 2; */
    /* for (int i = 0; i < 10; ++i) { */
    /*     int cur = base * mul; */
    /*     mul *= 2; */
    /*     clock_gettime(CLOCK_REALTIME, &start); */
    /*     printf("%lld\n", solve4(cur, cur)); */
    /*     clock_gettime(CLOCK_REALTIME, &end); */

    /*     double t1 = start.tv_sec + (start.tv_nsec / 1000000000.0); */
    /*     double t2 = end.tv_sec + (end.tv_nsec / 1000000000.0); */
    /*     printf("cur: %d TIME: %f\n", cur, t2 - t1); */
    /* } */
    return 0;
}
Esempio n. 2
0
Coloring Problem::solve(int exercise, int runs) const {
    if (runs < 1) {
        throw std::out_of_range("La cantidad de corridas debe ser mayor a 0");
    }

    switch (exercise) {
        case 1:
            for (auto i = 0; i < runs - 1; ++i) {
                solve1();
            }

            return solve1();
        case 2:
            for (auto i = 0; i < runs - 1; ++i) {
                solve2();
            }

            return solve2();
        case 3:
            for (auto i = 0; i < runs - 1; ++i) {
                solve3();
            }

            return solve3();
        case 4:
            for (auto i = 0; i < runs - 1; ++i) {
                solve4();
            }

            return solve4();
        case 5:
            for (auto i = 0; i < runs - 1; ++i) {
                solve5();
            }

            return solve5();
        default:
            throw std::out_of_range("Los ejercicios estan numerados del 1 al 5");
    }
}