Pagini recente » Cod sursa (job #2419773) | Cod sursa (job #2210643) | Cod sursa (job #2069270) | Cod sursa (job #921056) | Cod sursa (job #3269300)
#include <fstream>
#include <iostream>
#include <queue>
#include <vector>
#include <list>
std::ifstream in("sortaret.in");
std::ofstream out("sortaret.out");
std::vector<std::vector<int>> w(50000);
std::list<int> result;
int ft[50001];
int visited[50001];
int t = 1;
void DFS(int x){
for(int i = 0; i<w[x].size(); i++){
if(visited[w[x][i]] == 0) DFS(w[x][i]);
}
visited[x] = 1;
ft[x] = t++;
result.push_front(x);
}
int main(){
int n, m;
in >> n >> m;
for(int i = 0; i<m ;i++){
int x, y;
in >> x >> y;
w[x].push_back(y);
}
for(int i = 1; i<=n; i++)
if(visited[i] == 0)
DFS(i);
for(auto it : result)
out << it << " ";
}