Pagini recente » Cod sursa (job #149995) | Cod sursa (job #2118851) | Cod sursa (job #116110) | Cod sursa (job #530341) | Cod sursa (job #204133)
Cod sursa(job #204133)
#include<fstream>
using namespace std;
struct nod{
int inf;
nod *urm;
};
nod* v, *u;
void sterge(nod*&p){
nod*q;
q=p;
if(v!=u){
if(v==p) { v=v->urm;u->urm=v;}
else if(u==p) { p=v; while(p->urm!=u) p=p->urm; u=p;u->urm=v;}
else {p=v;while(p->urm!=q) p=p->urm; p->urm=q->urm;}
}
p=q->urm;
delete q;
}
int main(){
int n, i,ct, k;
ifstream f("order.in");
ofstream g("order.out");
f>>n;
f.close();
ct=n;
v=new nod;
v->inf=1;
v->urm=v;
u=v;
nod* p;
for(i=2;i<=n;++i){
p=new nod;
p->inf=i;
p->urm=v;
u->urm=p;
u=p;
}
p=v->urm;
for(i=1;i<=n;i++){
k=i-1;k=k%ct;
while(k--) p=p->urm;
g<<p->inf<<' ';
sterge(v,p,u);
}
g<<'\n';
return 0;
}