Cod sursa(job #77509)

Utilizator vlad3rsterian vladut vlad3r Data 14 august 2007 14:47:44
Problema Stramosi Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.86 kb
#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;
}