Pagini recente » Cod sursa (job #2792607) | Cod sursa (job #2962865) | Cod sursa (job #2827653) | Cod sursa (job #2216611) | Cod sursa (job #218669)
Cod sursa(job #218669)
#include <stdio.h>
struct lista{
int val;
lista *urm;
};
lista *prim, *ultim;
FILE *f = fopen("schi.in", "r"), *g = fopen("schi.out", "w");
int n, x;
int main()
{
fscanf(f, "%d", &n);
fscanf(f, "%d", &x);
prim = new lista;
prim -> val = 1;
prim -> urm = NULL;
ultim = prim;
for (int i = 2; i <= n; i++)
{
fscanf(f, "%d", &x);
lista *temp1, *temp2;
temp1 = new lista;
temp1 -> val = i;
//temp1 -> urm = NULL;
if (x == 1)
{
temp1 -> urm = prim;
prim = temp1;
}
else
if (x == i)
{
temp1 -> urm = NULL;
ultim -> urm = temp1;
ultim = temp1;
}
else
{
temp2 = new lista;
temp2 = prim;
for (int j = 1; j < x - 1; j++)
temp2 = temp2 -> urm;
temp1 -> urm = temp2 -> urm;
temp2 -> urm = temp1;
}
}
fclose(f);
lista *temp;
temp = new lista;
temp = prim;
for (int i = 1; i <= n; i++)
{fprintf(g, "%d\n", temp -> val);
temp = temp -> urm;
}
fclose(g);
return 0;
}