Pagini recente » Cod sursa (job #3247063) | Cod sursa (job #1751109) | Cod sursa (job #2113637) | Cod sursa (job #2060556) | Cod sursa (job #2780491)
#include <fstream>
#include <vector>
#include <stack>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
#define DIM 50001
stack <int> st;
vector <int> v[DIM];
int n, m, x, y, sel[DIM];
static inline void dfs(int x) {
sel[x] = 1;
for(auto e : v[x])
if(!sel[e])
dfs(e);
st.push(x);
}
static inline void TopSort() {
for(int i = 1; i <= n; i++)
if(!sel[i])
dfs(i);
}
int main() {
cin >> n >> m;
for(int i = 1; i <= m; i++) {
cin >> x >> y;
v[x].push_back(y);
}
TopSort();
while(!st.empty()) {
cout << st.top() << " ";
st.pop();
}
return 0;
}