Pagini recente » Cod sursa (job #1465825) | Cod sursa (job #1604431) | Cod sursa (job #589575) | Cod sursa (job #2748073) | Cod sursa (job #1025994)
#include <iostream>
#include <cstdio>
#define Nmax 2000
using namespace std;
int a[Nmax][Nmax];
int post[Nmax];
int nr=0,j,n;
bool viz[Nmax];
void reading(int &n)
{
int k,m;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d",&n,&m);
for(k=1;k<=m;++k)
{
int x,y;
scanf("%d %d",&x,&y);
++a[x][0];a[x][a[x][0]]=y;
}
}
void dfs(int x)
{
int i;
viz[x]=1;
for(i=1;i<=a[x][0];++i)
if (!viz[a[x][i]]) dfs(a[x][i]);
post[++nr]=x;
}
int main()
{
reading(n);
for(j=1;j<=n;++j)
if (!viz[j]) dfs(j);
for(j=n;j>0;--j)
cout<<post[j]<<" ";
return 0;
}