Pagini recente » Cod sursa (job #2847627) | Cod sursa (job #2156567) | Cod sursa (job #918906) | Cod sursa (job #21174) | Cod sursa (job #2420532)
#include <iostream>
#include <fstream>
#include <vector>
#define NMAX 120000
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> a[NMAX];
int n, m;
int vis[NMAX];
int fin[NMAX];
int cnt;
void dfs(int x) {
vis[x] = 1;
for (int i = 0; i < a[x].size(); ++i) {
int p = a[x][i];
if (!vis[p]) dfs(p);
}
fin[cnt] = x;
++cnt;
}
int main() {
f >> n >> m;
for (int i = 0; i < m; ++i) {
int x, y;
f >> x >> y;
x --;
y --;
a[x].push_back(y);
//a[y].push_back(x);
}
for (int i = 0; i < n; ++i) {
if (!vis[i]) dfs(i);
}
for (int i = cnt - 1; i >= 0; --i) {
g << fin[i] + 1<< " ";
}
return 0;
}