Pagini recente » Cod sursa (job #1536090) | Cod sursa (job #1681936) | Cod sursa (job #393946) | Cod sursa (job #1731864) | Cod sursa (job #171035)
Cod sursa(job #171035)
#include <fstream.h>
#define N 25001
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;
}