#include<fstream>
using namespace std;
int k,m,n,a[100][100],pf[100],ps[100];
fstream f("date.in",ios::in);
fstream g("date.out",ios::out);
void dfsuc(int nod)
{int k;
pf[nod]=1;
for(k=1;k<=n;k++)
if(a[nod][k]==1 && pf[k]==0)
dfsuc(k);
}
void dfpred(int nod)
{int k;
ps[nod]=1;
for(k=1;k<=n;k++)
if(a[k][nod]==1 && ps[k]==0)
dfpred(k);
}
void citire()
{int x,y;
f>>n>>m;
for(int i=1;i<=m;i++)
{f>>x>>y;
a[x][y]=1;
}
f>>k;
}
int main()
{citire();
dfsuc(k);
dfpred(k);
for(int i=1;i<=n;i++)
if(pf[i]*ps[i]==0) pf[i]=ps[i]=0;
for(int i=1;i<=n;i++)
if(pf[i]) g<<i<<" ";
f.close();
g.close();
return 0;
}
|