Pagini recente » Cod sursa (job #3212603) | Cod sursa (job #1756911) | Cod sursa (job #2710700) | Cod sursa (job #2434208) | Cod sursa (job #2519723)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector < int > v[50005];
int n, m, x, y, sort[50005], k;
bool viz[50005];
void dfs(int x) {
viz[x] = 1;
for(unsigned int i = 0; i < v[x].size(); ++i) {
int next = v[x][i];
if(!viz[next]) {
dfs(next);
}
}
sort[++k] = x;
}
int main() {
in >> n >> m;
for(int i = 1; i <= m; ++i) {
in >> x >> y;
v[x].push_back(y);
}
for(int i = 1; i <= n; ++i)
if(!viz[i]) {
dfs(i);
}
for(int i = k; i >= 1; --i)
out << sort[i] << ' ';
return 0;
}