Pagini recente » Cod sursa (job #2143908) | Cod sursa (job #1854896) | Cod sursa (job #3158292) | Cod sursa (job #500290) | Cod sursa (job #2424793)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void DFS(int nod, vector <vector <int> >& G, vector <int>& V, vector <int>& S) {
V[nod] = 1;
for (auto j : G[nod]) {
if (V[j] == 0)
DFS(j,G,V,S);
}
S.push_back(nod);
}
int main()
{
int n, m;
f >> n >> m;
vector <vector <int> > Graph(n + 1);
vector <int> Viz(n + 1, 0), Sol;
for (int i = 1; i <= m; i++) {
int x, y;
f >> x >> y;
Graph[x].push_back(y);
}
for (int i = 1; i <= n; i++) {
if (Viz[i] == 0)
DFS(i, Graph, Viz, Sol);
}
for (int i = Sol.size()-1; i >= 0; i--) {
g << Sol[i] << ' ';
}
return 0;
}