Pagini recente » Cod sursa (job #1735248) | Cod sursa (job #1126615) | Cod sursa (job #2485404) | Cod sursa (job #908337) | Cod sursa (job #2501821)
#include <iostream>
#include <vector>
#include <fstream>
#include <stack>
using namespace std;
int n, m;
vector<int> graph[50050];
bool visited[50050];
stack<int> S;
void PushIt(int node){
for(auto &v : graph[node]){
if(!visited[v]){
visited[v] = 1;
PushIt(v);
}
}
S.push(node);
}
int main() {
ifstream f("sortaret.in");
ofstream g("sortaret.out");
f>>n>>m;
for (int i = 0; i < m; ++i) {
int node, distance;
f>>node>>distance;
graph[node - 1].push_back(distance - 1);
}
for (int i = 0; i < n; ++i) {
if(!visited[i]){
visited[i] = 1;
PushIt(i);
}
}
while(!S.empty()){
cout<<S.top() + 1<<' ';
S.pop();
}
return 0;
}