Cod sursa(job #1288783)

Utilizator Mihai_BogdanDumitru Mihai Mihai_Bogdan Data 9 decembrie 2014 05:31:50
Problema Order Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
#define N 320//00
int x[N],next[N],prev[N],n,i,nr,poz,r,ramase;
void readd();
int main()
{
    readd();
    return 0;
}
void readd()
{       freopen("order.in","rt",stdin);
    freopen("order.out","wt",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++){ x[i]=i;next[i]=i+1;prev[i]=i-1;}
    next[n]=1;prev[1]=n;
    nr=1;r=1;poz=1;ramase=n;
    for(;;)
    { if(r){r--;poz=next[poz];continue;}
      printf("%d ",x[poz]);
      next[prev[poz]]=next[poz];
      prev[next[poz]]=prev[poz];
      r=++nr;
      if(nr==n+1)return;
      ramase=n+1-nr;
      r%=ramase;
      if(!r)r=ramase;
    }
}