Pagini recente » Cod sursa (job #460385) | Cod sursa (job #2665527) | Cod sursa (job #2060556) | Cod sursa (job #1802286) | Cod sursa (job #1044473)
#include <iostream>
#include <cstdio>
#include <vector>
#include <stack>
using namespace std;
int n,m;
stack<int> Q;
vector <int> v[50005];
int viz[50005];
void scan(){
cin >> n >> m;
for(int i =0 ; i < m ; i++){
int x,y;
scanf("%d %d",&x,&y);
v[x].push_back(y);
}
}
void dfs(int x){
viz[x] ++;
for(int i = 0 ; i < v[x].size();i++){
if(!viz[v[x][i]])
{
dfs(v[x][i]);
}
}
Q.push(x);
}
int main(){
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scan();
for(int i = 1; i <=n; i++){
if(!viz[i])
dfs(i);
}
while(!Q.empty()){
printf("%d ",Q.top());
Q.pop();
}
return 0;
}