Pagini recente » Cod sursa (job #2164705) | Cod sursa (job #2465343) | Cod sursa (job #3283268) | Cod sursa (job #2395355) | Cod sursa (job #2152305)
#include <bits/stdc++.h>
using namespace std;
/// SORTARE TOPOLOGICA CU DFS ///
const int Nmax = 50005;
vector < unsigned int > L[Nmax];
bool viz[Nmax];
int n, m;
int ord[Nmax], lg;
void Read()
{
ifstream fin("sortaret.in");
fin >> n >> m;
int x, y;
for (int i = 1; i <= m; i++)
{
fin >> x >> y;
L[x].push_back(y);
}
fin.close();
}
void DFS(int k)
{
viz[k] = true;
for (auto i : L[k])
if (!viz[i])
DFS(i);
ord[++lg] = k;
}
void SortTop()
{
int i;
for (i = 1; i <= n; i++)
if (!viz[i])
DFS(i);
ofstream fout("sortaret.out");
for (i = n; i >= 1; i--)
fout << ord[i] << " ";
fout.close();
}
int main()
{
Read();
SortTop();
return 0;
}