Pagini recente » Cod sursa (job #2551462) | Cod sursa (job #1936823) | Cod sursa (job #551000) | Cod sursa (job #2555256) | Cod sursa (job #796954)
Cod sursa(job #796954)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#define pb push_back
#define MAXN 50010
using namespace std;
vector <int> G[MAXN],St;
vector <int> :: iterator it;
int n,m,x,y,i;
bool sel[MAXN];
void DF(int x)
{
vector <int> :: iterator it;
sel[x]=true;
for(it=G[x].begin();it!=G[x].end();it++)
if (!sel[*it]) DF(*it);
St.pb(x);
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d", &n, &m);
for (i=1;i<=m;++i)
{
scanf("%d %d",&x, &y);
G[x].pb(y);
}
memset(sel, false, sizeof(sel));
for (i=1;i<=n; i++)
if (!sel[i]) DF(i);
reverse(St.begin(),St.end());
for(it=St.begin(); it!=St.end(); it++)
printf("%d ",*it);
printf("\n");
return 0;
}