Cod sursa(job #426165)

Utilizator mihai995mihai995 mihai995 Data 26 martie 2010 15:20:02
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;
int /*v[250001][10000],*/pred[250001]/*,s[250001][10000]*/;

/*void set(int x)
{
	int i,j;
	for (i=1;i<=v[x][0];i++)
	{
		for (j=1;j<=s[x][0];j++)
			s[v[x][i]][j+1]=s[x][j];
		pred[v[x][i]]=-1;
		set(v[x][i]);
	}
}*/

int stramos(int x,int a)
{
	if (x==0 || a==0)
		return a;
	return stramos(x-1,pred[a]);
}

int main()
{
	int n,m,p,q,i;
	ifstream in("stramosi.in");
	ofstream out("stramosi.out");
	in>>n>>m;
	for (i=1;i<=n;i++)
	{
		in>>pred[i];
		/*s[i][1]=pred[i];
		v[pred[i]][++v[pred[i]][0]]=i;*/
	}
	/*for (i=1;i<=n;i++)
		if (pred[i]==0)
			set(i);*/
	while (m--)
	{
		in>>q>>p;
		out<<stramos(p,q)<<"\n";
	}
	return 0;
}