Pagini recente » Cod sursa (job #3256389) | Cod sursa (job #2219452) | Cod sursa (job #2478926) | Cod sursa (job #1673292) | Cod sursa (job #2211441)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("sortaret.in");
ofstream g ("sortaret.out");
vector <int> G[50002];
vector <int> Sol;
int n, m, x, y;
bool viz[50002];
void dfs (int nod)
{
vector <int> :: iterator it;
viz[nod] = true;
for (it = G[nod].begin(); it != G[nod].end(); it++)
{
if (!viz[*it])
{
dfs(*it);
}
}
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());
vector <int> :: iterator it;
for (it = Sol.begin(); it != Sol.end(); it++)
{
g << *it << " ";
}
return 0;
}