Pagini recente » Cod sursa (job #2746913) | Cod sursa (job #2357524) | Cod sursa (job #276733) | Cod sursa (job #1412263) | Cod sursa (job #2540183)
#include <iostream>
#include <cstdio>
#include <vector>
#include <stack>
using namespace std;
bool viz[50001];
stack<int> sortt;
vector<int> v[100001];
void walk(int startv){
viz[startv] = true;
for(auto e : v[startv])
if(!viz[e])
walk(e);
sortt.push(startv+1);
}
int main() {
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
int n, m, a, b;
cin>>n>>m;
for(int i=0;i<m;i++){
cin>>a>>b;
v[a-1].push_back(b-1);
}
for(int i=0;i<n;i++)
if(!viz[i])
walk(i);
while(!sortt.empty()){
cout<<sortt.top()<<' ';
sortt.pop();
}
return 0;
}