Pagini recente » Cod sursa (job #2975648) | Cod sursa (job #3144776) | Cod sursa (job #1609406) | Cod sursa (job #2212108) | Cod sursa (job #184855)
Cod sursa(job #184855)
#include <cstdio>
const int maxn = 30001;
FILE *in = fopen("order.in","r"), *out = fopen("order.out","w");
struct list
{
int x;
list *prev;
list *next;
};
int n;
list a[maxn];
void sterge(list *q)
{
q->prev->next = q->next;
q->next->prev = q->prev;
}
void go()
{
int nr = 1;
list *p = &a[0];
while ( nr <= n )
{
for ( int i = 0; i < nr; ++i )
p = p->next;
fprintf(out, "%d ", p->x);
sterge(p);
++nr;
}
}
int main()
{
fscanf(in, "%d\n", &n);
for ( int i = 0; i < n; ++i )
{
a[i].x = i + 1;
a[i].next = a + (i + 1) % n;
a[i].prev = a + (i - 1 + n) % n;
}
go();
return 0;
}