Pagini recente » Cod sursa (job #1327467) | Cod sursa (job #2924709) | Cod sursa (job #1038889) | Cod sursa (job #2311465) | Cod sursa (job #77509)
Cod sursa(job #77509)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *in,*out;
long **v,i,next,n,cate;
long rasp,j,*a;
in=fopen("stramosi.in","r");
fscanf(in,"%ld",&n);
fscanf(in,"%ld",&cate);
v=(long **)malloc(n*sizeof(long *));
//a=(long *)malloc(n*sizeof(long ));
for(i=0;i<=n;i++)
v[i]=(long *)malloc(n/4*sizeof(long));
for(i=0;i<n;i++)
for(j=0;j<n/4;j++)
v[i][j]=0;
for(i=0;i<n;i++)
{
fscanf(in,"%ld",&rasp);
v[i][0]=rasp;
if(rasp!=0)
{
j=0;
while(v[rasp-1][j]!=0)
{
v[i][j+1]=v[rasp-1][j];
j++;
}
}
//a=v[rasp];
//v[i]+1=a;
}
out=fopen("stramosi.out","w");
for(i=0;i<cate;i++)
{
fscanf(in,"%ld",&next);
fscanf(in,"%ld",&j);
fprintf(out,"%ld\n",v[next-1][j-1]);
}
for(i=0;i<n/4;i++)
{free(v[i]);
v[i]=0;}
free(v);
v=0;
fclose(in);
fclose(out);
return 0;
}