Cod sursa(job #423365)

Utilizator darrenRares Buhai darren Data 23 martie 2010 19:56:52
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<vector>
using namespace std;

ofstream fout("stramosi.out");

void read();
void find(int x, int y, int act);
void write(int x);

int s[300005];

int main() {
	read();
	fout.close();
	return 0;
}

void read() {
	ifstream fin("stramosi.in");
	int n, m, aux;
	int i, q, p;
	fin >> n >> m;
	for (i = 1; i <= n; ++i) {
		fin >> aux;
		s[i] = aux;
	}
	for (i = 1; i <= m; ++i) {
		fin >> q >> p;
		find(q, p, 1);
	}
}

void find(int x, int y, int act) {
	if (s[x] == 0) { write(s[x]); return; }
	if (act == y) { write(s[x]); return; }
	find(s[x], y, act + 1);
}

void write(int x) {
	fout << x << '\n';
}