Pagini recente » Cod sursa (job #1371020) | Cod sursa (job #1652553) | Cod sursa (job #1238488) | Cod sursa (job #686843) | Cod sursa (job #1250895)
#include <vector>
#include <cstdio>
#define PB push_back
using namespace std;
vector <int> G[50001];
bool sel[50001];
int sol[50001];
int n,m,x,y,i;
void dfs(int x)
{
sel[x]=1;
for( vector <int> :: iterator it=G[x].begin(); it!=G[x].end();it++)
{
if(!sel[*it]) dfs(*it);
}
sol[++sol[0]]=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);
}
for(i=1;i<=n;i++)
{
if(!sel[i]) dfs(i);
sel[i]=1;
}
for(i=sol[0];i>=1;i--)
{
printf("%d ",sol[i]);
}
return 0;
}