LINUX.ORG.RU

История изменений

Исправление quasimoto, (текущая версия) :

Повторения забыл:

// homo-gen-in.cc

#include <cstdio>
#include <cstdlib>

int main(int argc, char **argv)
{
    int n = atoi(argv[1]);

    // http://oeis.org/A064999
    printf("%d\n", ((n - 1) * (n - 1) * (n - 1) - n + 4) / 3 - 1);

    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < i; ++j)
            for (int k = 0; k < j; ++k)
                printf("insert %d\n", j);
        for (int j = 0; j < i; ++j)
            for (int k = 0; k < j; ++k)
                printf("delete %d\n", j);
    }
}
$ make N=250
running C++ tests:  	0:00.72 4272
running SBCL tests: 	0:05.85 340688
$ make N=500
running C++ tests:  	0:06.47 4320
running SBCL tests: 	0:47.30 380208

примечательно, что при N=250 результат почти такой же как на SPOJ.

Исходная версия quasimoto, :

Повторения забыл:

// homo-gen-in.cc

#include <cstdio>
#include <cstdlib>

int main(int argc, char **argv)
{
    int n = atoi(argv[1]);

    // http://oeis.org/A064999
    printf("%d\n", ((n - 1) * (n - 1) * (n - 1) - n + 4) / 3 - 1);

    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < i; ++j)
            for (int k = 0; k < j; ++k)
                printf("insert %d\n", j);
        for (int j = 0; j < i; ++j)
            for (int k = 0; k < j; ++k)
                printf("delete %d\n", j);
    }
}
$ make tests N=250
running C++ tests:  	0:00.72 4272
running SBCL tests: 	0:05.85 340688
$ make tests N=500
running C++ tests:  	0:06.47 4320
running SBCL tests: 	0:47.30 380208

примечательно, что при N=250 результат почти такой же как на SPOJ.