Pagini recente » Cod sursa (job #792166) | Cod sursa (job #1859247) | Cod sursa (job #1151215) | Cod sursa (job #393868) | Cod sursa (job #1189339)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define NMAX 100005
vector < int > L[NMAX];
int P[NMAX];
bool sel[NMAX];
int N,M,i,x;
void DF(int nod)
{
sel[nod]=true;
for ( vector < int > :: iterator it=L[nod].begin();it!=L[nod].end();++it)
{
if (sel[*it]) continue;
DF(*it);
}
P[nod]=nod;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&N,&M);
for (i=1;i<=M;++i)
L[scanf("%d",&x)].push_back(scanf("%d",&x));
for (i=1;i<=N;++i)
{
if (sel[i]) continue;
DF(i);
}
sort(P+1,P+N+1);
for (i=1;i<=N;++i) printf("%d ",P[i]);
printf("\n");
return 0;
}