Pagini recente » Cod sursa (job #56035) | Cod sursa (job #2399260) | Cod sursa (job #1953903) | Cod sursa (job #2417011) | Cod sursa (job #2424786)
#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 (auto i : Sol) {
g << i << ' ';
}
}