Pagini recente » Cod sursa (job #2441921) | Cod sursa (job #2274534) | Cod sursa (job #2044051) | Cod sursa (job #3213244) | Cod sursa (job #1522381)
#include <cstdio>
#include <vector>
#define inFile "sortaret.in"
#define outFile "sortaret.out"
#define Nmax 50010
using namespace std;
vector <int> G[Nmax];
int sp[Nmax],lp,viz[Nmax];
int DFS(int k)
{
int i,ls = G[k].size();
viz[k] = 1;
for(i = 0;i < ls; i++)
if(!viz[G[k][i]])DFS(G[k][i]);
sp[lp++] = k;
}
int main()
{
int i,n,m,a,b;
freopen(inFile,"r",stdin);
freopen(outFile,"w",stdout);
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
{
scanf("%d%d",&a,&b);
G[a].push_back(b);
}
for(i=1;i<=n;i++)
if(!viz[i]) DFS(i);
for(i=lp - 1;i>=0;i--)
printf("%d ", sp[i]);
}