Pagini recente » Cod sursa (job #2115663) | Cod sursa (job #1691425) | Cod sursa (job #1426736) | Cod sursa (job #1197278) | Cod sursa (job #48121)
Cod sursa(job #48121)
#include <stdio.h>
#define Nmax 30001
typedef struct Nod {
int inf;
Nod * adr;
};
typedef struct Nod * Lista;
Lista a;
int n;
void inserare(int k,int x)
{
Lista t;
t=a;
int i;
for(i=1;i<k-1;i++) t=t->adr;
Lista q=t->adr;
Lista c;
c=new Nod;
c->inf=x;
c->adr=q;
t->adr=c;
}
void inserare2(int x)
{
Lista nou;
nou=new Nod;
nou->inf=x;
nou->adr=a;
a=nou;
}
void rezolvare()
{
FILE * fin=fopen("schi.in","r");
fscanf(fin,"%d",&n);
int i,x,j;
a=NULL;
a=new Nod;
a->inf=1;
a->adr=0;
fscanf(fin,"%d",&x);
for(i=2;i<=n;i++)
{
fscanf(fin,"%d",&x);
if(x!=1)inserare(x,i);
else inserare2(i);
}
fclose(fin);
}
void afisare()
{
FILE * fout=fopen("schi.out","w");
Lista t=a;
while(t)
{
fprintf(fout,"%d\n",t->inf);
t=t->adr;
}
fclose(fout);
}
int main()
{
rezolvare();
afisare();
return 0;
}