Cod sursa(job #493194)

Utilizator nomemoryAndrei Ciobanu nomemory Data 17 octombrie 2010 14:29:55
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>
#include <cstdlib>

#define FIN "stramosi.in"
#define FOUT "stramosi.out"

using namespace std;

int get_parent(int k, int level, int *parent)
{
	while(level-->0){
		k = parent[k];
	}
	return k;
}

int main(int argc, char *argv[])
{
	int N, M, *parent, k, level;
	FILE *in = NULL, *out = NULL;
	in = fopen(FIN, "r");
	out = fopen(FOUT, "w");
	
	fscanf(in, "%d %d", &N, &M);
	parent = new int[N+1];	
	for(int i = 1; i < N+1; ++i){
		fscanf(in, "%d", &parent[i]);
	}
	for(int j = 0; j < M; ++j){
		fscanf(in, "%d %d", &k, &level);
		fprintf(out, "%d\n", get_parent(k, level, parent));
	}	

	fclose(in);
	fclose(out);

	return (EXIT_SUCCESS);
}