Pagini recente » Cod sursa (job #1779469) | Cod sursa (job #1261610) | Cod sursa (job #2622350) | Cod sursa (job #3132970) | Cod sursa (job #508815)
Cod sursa(job #508815)
#include<stdio.h>
#include<algo.h>
#include<vector>
#include<list>
#define pb push_back
#define max 50005
using namespace std;
vector<int> a[max];
list<int> l;
int n,m,viz[max];
void dfs(int x)
{vector<int>::iterator it;
viz[x]=1;
for(it=a[x].begin();it!=a[x].end();it++)
if(!viz[*it])dfs(*it);
l.push_front(x);
viz[x]=2;
}
int main()
{freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int x,y;
scanf("%d %d",&n,&m);
for(int i=1;i<=m;i++)
{scanf("%d %d",&x,&y);
a[x].pb(y);}
for(int i=1;i<=n;++i)
if(viz[i]==0)
dfs(i);
for(list<int>::iterator it=l.begin();it!=l.end();it++)
printf("%d ",*it);
return 0;}