Pagini recente » Cod sursa (job #1159616) | Cod sursa (job #686653) | Cod sursa (job #1536791) | Cod sursa (job #182341) | Cod sursa (job #2196111)
#include <iostream>
#include <fstream>
#include <vector>
#define dMAX 50000
using namespace std;
int n, m, x, y;
vector<int> graf[dMAX + 2];
bool viz[dMAX + 2];
int topSort[dMAX + 2];
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
void DFS(int v) {
int newV, u;
viz[v] = true;
for (u = 0; u < graf[v].size(); u++) {
newV = graf[v][u];
if (!viz[newV]) {
DFS(newV);
}
}
topSort[++topSort[0]] = v;
}
int main()
{
int i, j;
fin >> n >> m;
for (i = 1; i <= m; i++) {
fin >> x >> y;
graf[x].push_back(y);
}
for (i = 1; i <= n; i++) {
if (!viz[i]) {
DFS(i);
}
}
for (i = n; i >= 1; i--) fout << topSort[i] << ' ';
return 0;
}