Pagini recente » Cod sursa (job #3004852) | Cod sursa (job #3149361) | Cod sursa (job #69338) | Cod sursa (job #2808011) | Cod sursa (job #2731735)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
#define Nmax 50001
vector<int> graph[Nmax];
bool visited[Nmax];
vector<int> top;
void dfs(int x) {
visited[x] = true;
// parcurg vecinii y ai lui x
for (int i = 0; i < graph[x].size(); i++) {
int y = graph[x][i];
if (!visited[y]) {
dfs(y);
}
}
top.push_back(x);
}
int main()
{
int N, M, x, y, i;
in >> N; // numarul de noduri
in >> M; // numarul de arce (muchii)
for (i = 0; i < M; i++) {
in >> x >> y;
// graf orientat
graph[x].push_back(y);
}
dfs(1);
for (i = top.size() - 1; i >= 0; i--) {
out << top[i] << " ";
}
out << '\n';
return 0;
}