Cod sursa(job #179729)

Utilizator andrei_h5n1Haidau Andrei andrei_h5n1 Data 16 aprilie 2008 11:55:23
Problema Schi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>

struct nod
{
	int inf;
	nod *next;
};
nod *p, *aux, *in;
int n, i, poz, k;

void add()
{
	if(!in)
	{
		in=new nod;
		in->inf=i;
		p->next=0;
	}
	else if(poz==1)
	{
		p=new nod;
		p->inf=i;
		p->next=in;
		in=p;
	}
	else
	{
		k=1;p=in;

		while(k<poz-1)
		{
			p=p->next;
			k++;
		}

		aux=new nod;
		aux->inf=i;

		if(i==poz)
			aux->next=0;
		else
			aux->next=p->next;

		p->next=aux;
	}
}
int main()
{
	freopen("schi.in", "r", stdin);
	freopen("schi.out", "w", stdout);

	scanf("%d", &n);

	for(i=1; i<=n; i++)
	{
		scanf("%d", &poz);
		add();
	}
	p=in;
	while(p)
	{
		printf("%d\n", p->inf);
		p=p->next;
	}

	return 0;
}