Cod sursa(job #229675)

Utilizator hazegirlCatalina Predoi hazegirl Data 11 decembrie 2008 08:34:59
Problema Stramosi Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream.h>
#include<math.h>
 long int j,p,i,q,m,n,nr=0;
 long int v[18][250001];
 ofstream g("stramosi.out");

void df(long int a,long int qu)
{if(a<p)
       df(a+1,v[0][qu]);
else g<<qu<<'\n';
}



int main()
{

ifstream f("stramosi.in");

f>>n>>m;
for(i=1; i<=n; i++)
	f>>v[0][i];


	for(i=1;i<=17;i++)
		for(j=1;j<=n;j++)
			v[i][j]=v[i-1][v[i-1][j]];

for(i=1;i<=m;i++)
    {f>>q>>p;
	for(j=17;pow(2,j)>p;j--);
	nr=pow(2,j);
	q=v[j][q];
       /*	for(;nr<p;nr++)
		q=v[0][q];
     g<<q<<"\n";*/df(nr,q);}
f.close();         
g.close();         
return 0;         
}