Pagini recente » Cod sursa (job #49699) | Cod sursa (job #2300273) | Cod sursa (job #2810211) | Cod sursa (job #3165724) | Cod sursa (job #12688)
Cod sursa(job #12688)
#include<stdio.h>
FILE *f=fopen("stramosi.in", "r"), *g=fopen("stramosi.out", "w");
struct nod
{
long int om, str;
nod *urm;
};
nod *prim;
void aflare_str(long int q, long int p)
{
long int x, i;
nod *l;
x=q;
l=prim;
i=0;
while(l && i<p)
{
if(l->om==x)
{
x=l->str;
if(x!=0)
l=prim;
else
l=NULL;
i++;
}
else
l=l->urm;
}
if(l==NULL)
fprintf(g, "0\n");
else
fprintf(g, "%d\n", x);
}
int main()
{
long int i, p, q, n, m, k;
fscanf(f, "%ld%ld", &n, &m);
nod *l;
for(i=1; i<=n; i++)
{
fscanf(f, "%ld", &k);
l=new nod;
l->om=i;
l->str=k;
l->urm=NULL;
if(prim==NULL)
prim=l;
else
{
l->urm=prim;
prim=l;
}
}
for(i=1; i<=m; i++)
{
fscanf(f, "%ld%ld", &q, &p);
aflare_str(q, p);
}
return 0;
}