Cod sursa(job #184857)

Utilizator DastasIonescu Vlad Dastas Data 24 aprilie 2008 13:49:32
Problema Order Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>

const int maxn = 30001;

FILE *in = fopen("order.in","r"), *out = fopen("order.out","w");

int n;
int a[maxn];

void del(int poz)
{
    for ( int i = poz; i < n; ++i )
        a[i] = a[i+1];

    --n;
}

void go()
{
    int i = 2;
    int nr = 1;

    while ( n )
    {
        int cnt = 1;

        while ( cnt < nr )
        {
            ++i;

            if ( i > n )
                i = 1;

            ++cnt;
        }

        fprintf(out, "%d ", a[i]);
        del(i);
        if ( i == n + 1 )
            i = 1;
        ++nr;
    }

}

int main()
{
    fscanf(in, "%d\n", &n);

    for ( int i = 1; i <= n; ++i )
        a[i] = i;

    go();

    return 0;
}