Cod sursa(job #235350)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 23 decembrie 2008 15:12:24
Problema Order Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
#define N 32000
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;
	while(nr<=n)
	{ if(r){r--;poz=next[poz];continue;}
	  printf("%d ",x[poz]);
	  next[prev[poz]]=next[poz];
	  prev[next[poz]]=prev[poz];
	  poz=next[poz];
	  r=++nr;ramase--;
	  if(!ramase)break;
	  if(r>ramase)r=(r%ramase)?r%ramase:ramase;
	}
}