Pagini recente » Cod sursa (job #2332730) | Cod sursa (job #2499659) | Cod sursa (job #2938218) | Cod sursa (job #865820) | Cod sursa (job #2354154)
#include <cstdio>
#include <vector>
using namespace std;
const int NMAX=50001;
vector <int> G[NMAX];
int n,m;
int viz[NMAX];
int sol[NMAX];
int cnt=0;
void dfs(int u){
viz[u]=1;
for(int i=0;i<G[u].size();++i){
int v=G[u][i];
if(viz[v]==0)
dfs(v);
}
sol[++cnt]=u;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
int u,v;
for(int i=1;i<=m;++i){
scanf("%d%d",&u,&v);
G[u].push_back(v);
}
for(int i=1;i<=n;++i)
if(viz[i]==0)
dfs(i);
for(int i=n;i>=1;--i)
printf("%d ",sol[i]);
return 0;
}