Pagini recente » Cod sursa (job #645540) | Cod sursa (job #2871121) | Cod sursa (job #2912337) | Cod sursa (job #1295061) | Cod sursa (job #171021)
Cod sursa(job #171021)
#include <fstream.h>
#define N 250001
#define lat 50
ifstream fin("stramosi.in");
ofstream fout("date.out");
int a[N][N],viz[N],str[N][lat],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);
}
}
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;}
void main()
{int i,j;
citire();
for(i=1;i<=n;i++)
{
golire();
poz=1;
vft=i;
df(i);
}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cout<<str[i][j]<<' ';
cout<<endl;
}
interogare();
}