Pagini recente » Cod sursa (job #2712933) | Cod sursa (job #2077866) | Cod sursa (job #333882) | Cod sursa (job #223469) | Cod sursa (job #2214514)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("sortaret.in");
ofstream g ("sortaret.out");
vector <int> G[50002];
vector <int> Sol;
bool viz[50002];
int n, m, x, y;
void dfs (int nod)
{
viz[nod] = true;
for (int i = 0; i < G[nod].size(); i++)
{
if (!viz[G[nod][i]])
{
dfs(G[nod][i]);
}
}
Sol.push_back(nod);
}
int main()
{
f >> n >> m;
for (int i = 1; i <= m; i++)
{
f >> x >> y;
G[x].push_back(y);
}
for (int i = 1; i <= n; i++)
{
if (!viz[i])
{
dfs(i);
}
}
reverse(Sol.begin(),Sol.end());
for (int i = 0 ; i < Sol.size(); i++)
{
g << Sol[i] << " ";
}
return 0;
}