Cod sursa(job #203973)

Utilizator MciprianMMciprianM MciprianM Data 21 august 2008 10:13:29
Problema Order Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
#include<algorithm>
using namespace std;
struct nod{
  int inf;
  nod* ant, *urm;
};

void sterg(nod*&v, nod*&u, nod*&x){
  nod*p;
  p=x;  
  x->ant->urm=x->urm;
  x->urm->ant=x->ant;
  x=x->ant;
  delete p;
}
int main(){
  int n,k,ct;
  ifstream f("order.in");
  f>>n;
  ct=n;
  f.close();
  nod* v=0,*u,*p;
  u=0;
  v->inf=1;
  u->inf=2;
  v->urm=u;
  v->ant=u;
  u->ant=v;
  u->urm=v;
  for(i=3;i<=n;i++){
   p=new nod;
   p->inf=i;
   p->ant=u;
   p->urm=v;
   u->urm=p;
   u=p;
   v->ant=u;
  }
  ofstream g("order.out");
  p=v;
  for(i=1;i<=n;i++){
   k=i%ct;
   while(k--)  p=p->urm;
   g<<p->inf<<' ';
   sterg(v,u,p);
   ct--;

  }
  g<<"\n';
  return 0;
}