Pagini recente » Cod sursa (job #845637) | Cod sursa (job #2032364) | Cod sursa (job #1284219) | Cod sursa (job #696531) | Cod sursa (job #3125879)
#include <fstream>
#include <vector>
#define NMAX 50000
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int n, m;
bool ver[NMAX + 1];
vector <int> v[NMAX + 1], ord;
void dfs(int nc) {
ver[nc] = true;
for (int j = 0; j < v[nc].size(); j++)
if (!ver[v[nc][j]])
dfs(v[nc][j]);
ord.push_back(nc);
}
int main()
{
fin >> n >> m;
for (int i = 1; i <= m; i++) {
int x, y;
fin >> x >> y;
v[x].push_back(y);
}
for (int i = 1; i <= n; i++) {
if (!ver[i]){
dfs(i);
}
}
for (int i = ord.size() - 1; i >= 0; i--)
fout << ord[i] << ' ';
return 0;
}