Cod sursa(job #854546)

Utilizator mihai10stoicaFMI - Stoica Mihai mihai10stoica Data 13 ianuarie 2013 18:33:05
Problema Order Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#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;
}