Cod sursa(job #171041)

Utilizator Iceman_ftgBurghelea Alex Iceman_ftg Data 3 aprilie 2008 17:23:24
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream.h>
#define N 7500
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int a[N][N],viz[N],str[N][N],poz;
long n,m,vft;
             
void citire()
{
int i,j;
fin>>n>>m;
long x;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{ a[i][j]=0;str[i][j]=0;}
for(i=1;i<=n;i++)
	{
	fin>>x;
	if(x!=0)
		a[i][x]=1;
    }
}
void df(int vf)
{ int i;
viz[vf]=1;
str[vft][poz]=vf;
poz++;
for(i=1;i<=n;i++)
 if(a[vf][i]==1&&viz[i]==0)
	{
	df(i);
    break;
	}
}
void interogare()
{
int i,Q,P;
for(i=1;i<=m;i++)
	{
    fin>>Q>>P;
	fout<<str[Q][P+1]<<'\n';
	}
}
void golire()
{int i;
for(i=1;i<=n;i++)
viz[i]=0;}
int main()
{int i,j;
 citire();

 for(i=1;i<=n;i++)
   {
   golire();
   poz=1;
   vft=i;
   df(i);
   }
 interogare();
 return 0;
}