Cod sursa(job #3259994)

Utilizator ridicheTudor Diaconu ridiche Data 28 noiembrie 2024 19:20:24
Problema Order Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;

ifstream in;
ofstream out;

struct elem {
	int val; elem *nxt, *prv;
};

elem *ef, *el, *aux;

int main()
{
	in.open("order.in");
	out.open("order.out");
	int n;
	in >> n;
	ef = new elem;
	ef->val = 0;
	el = ef;
	for (int i = 1; i < n; i++)
	{
		aux = new elem;
		aux->val = i;
		aux->prv = el;
		el->nxt = aux;
		el = aux;
	}
	el->nxt = ef;
	ef->prv = el;
	elem *cur = ef;
	for (int i = 0; i < n; i++)
	{
		int numpasi = i;
		numpasi %= (n-i);
		numpasi++;
		while (numpasi)
		{
			cur = cur -> nxt;
			numpasi--;
		}
		cur->prv->nxt = cur->nxt;
		cur->nxt->prv = cur->prv;
		out << cur->val + 1 << " ";
	}
}