Cod sursa(job #235355)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 23 decembrie 2008 15:34:47
Problema Order Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 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;
	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;
	}
}