Cod sursa(job #632996)

Utilizator vitaleamaldur vitalik vitalea Data 12 noiembrie 2011 17:14:05
Problema Stramosi Scor 70
Compilator c Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#include<stdlib.h>

int * read(FILE * f , int n, int a[]){
	int i;
	for(i=0; i<n; i++){
		fscanf(f,"%d",&a[i]);
	}
	return a;
}

int count(int a[], int q, int p){
	int rez;
	q--;
	while( p>0 ){
		rez=a[q];
		if(a[q]==0) break;
		p--;
		q=rez-1;
	}
	return rez;
}

void out(FILE *f, int m, int a[]){
	FILE *out = fopen("stramosi.out","w");
	int i,p,q;
	for(i=0; i<m; i++){
        fscanf(f,"%d %d",&q,&p);
        fprintf(out,"%d\n",count(a,q,p));
	}
	fclose(out);
}

int main(){
	FILE *f = fopen( "stramosi.in", "r" );
	int n,m;
	fscanf(f,"%d %d",&n,&m);
	int a[n];
	read(f,n,a);
	out(f,m,a);
	fclose(f);
	getchar();
	return 0;
	system( "pause" );
}