Pagini recente » Cod sursa (job #845093) | Cod sursa (job #740070) | Cod sursa (job #633564) | Cod sursa (job #71552) | Cod sursa (job #854546)
Cod sursa(job #854546)
#include<cstdio>
#include<cstdlib>
int n;
struct nod {int info;nod *l,*r;}*v;
void add(int x)
{
if(v==0)
{
v=new nod;
v->info=x;
v->l=v;
v->r=v;
}
else
{
nod *c=new nod;
c->info=x;
c->l=v->l;
v->l->r=c;
c->r=v;
v->l=c;
}
}
void remove(nod *p)
{
printf("%d ",p->info);
p->l->r=p->r;
p->r->l=p->l;
delete p;
}
void order(int x)
{
int i;
x=x%n;
for(i=0;i<x-1;i++) v=v->r;
remove(v->r);n--;
if(n>0) order(x+1);
}
int main()
{
freopen("order.in","r",stdin);
freopen("order.out","w",stdout);
int i,nr;
scanf("%d",&nr);n=nr;
for(i=1;i<=nr;i++) add(i);
order(1);
return 0;
}