Pagini recente » Cod sursa (job #2334526) | Cod sursa (job #313430) | Cod sursa (job #2655458) | Cod sursa (job #260005) | Cod sursa (job #204134)
Cod sursa(job #204134)
#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(p);
}
g<<'\n';
return 0;
}