Pagini recente » Cod sursa (job #2556539) | Cod sursa (job #290500) | Cod sursa (job #1220065) | Cod sursa (job #2454886) | Cod sursa (job #413181)
Cod sursa(job #413181)
#include<stdio.h>
#include<vector>
using namespace std;
vector <int> g[50005];
int n,m,x,y,v[50005],viz[50005],sol[50005],k,i;
void dfs(int nod)
{
viz[nod]=1;
int N=g[nod].size();
for(int j=0;j<N;j++)
if(!viz[g[nod][j]])
dfs(g[nod][j]);
sol[k--]=nod;
}
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].push_back(y);
v[y]++;
}
for(i=1;i<=n;i++)
if(!v[i])
g[0].push_back(i);
k=n;
dfs(0);
for(i=1;i<=n;i++)
printf("%d ",sol[i]);
return 0;
}