Pagini recente » Cod sursa (job #513696) | Cod sursa (job #2053228) | Cod sursa (job #1156154) | Cod sursa (job #1579729) | Cod sursa (job #2540047)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int viz[50001];
void walk(vector<vector<int>> v, int startv, vector<int> &sortt){
sortt.push_back(startv+1);
viz[startv] = 1;
for(auto e : v[startv])
if(!viz[e])
walk(v, e, sortt);
}
int main() {
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
int n, m;
cin>>n>>m;
vector<vector<int>> v;
//vector<int> vin;
//vin.resize(n);
v.resize(n);
for(int i=0;i<m;i++){
int a, b;
cin>>a>>b;
v[a-1].push_back(b-1);
//vin[b-1] = 1;
}
vector<int> sortt;
for(int i=0;i<n;i++)
if(!viz[i])
walk(v, i, sortt);
for(auto e : sortt)
cout<<e<<' ';
return 0;
}