Pagini recente » Cod sursa (job #2035434) | Cod sursa (job #140307) | Cod sursa (job #1791979) | Cod sursa (job #2605579) | Cod sursa (job #2923542)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
vector <int> v[50001];
int ans[50001], k, n, m, x, y;
bool vizitat[50001];
void build(int i){
vizitat[i] = 1; // am vizitat nodul/elementul i
// parcurg toata lista de elemente cu care valoarea i are arc/legatura
for(auto j : v[i]){
if(vizitat[j] == 0){
build(j);
}
}
k++;
ans[k] = i;
}
int main(){
/*
4 3
1 3
2 4
2 3
*/
cin >> n >> m;
for(int i = 0; i < m; i++){
cin >> x >> y;
v[x].push_back(y);
}
for(int i = 1; i <= n; i++){
if(vizitat[i] == 0){
build(i);
}
}
for(int i = k; i >= 1; i--)
cout << ans[i] << " ";
return 0;
}