Cod sursa(job #2096862)

Utilizator NToniBoSSNicolae Tonitza NToniBoSS Data 29 decembrie 2017 22:56:13
Problema Order Scor 85
Compilator c Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#include <stdlib.h>
int next[30001],next_inv[30001];
int main()
{
    int i,j,n,z,k;
    freopen("order.in","r",stdin);
    freopen("order.out","w",stdout);
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        next[i]=i%n+1;
        next_inv[i]=(i==1?n:i-1);
    }
    z=1;
    for(i=1,j=n; i<=n; i++,j--)
    {
        k=i%j;
        while(k>1)
        {
            z=next[z];
            k--;
        }
        if(k==0)
            z=next_inv[z];
        printf("%d ",next[z]);
        next[z]=next[next[z]];
        next_inv[next[z]]=z;
    }

    return 0;
}