Pagini recente » Cod sursa (job #2060819) | Cod sursa (job #2897660) | Cod sursa (job #3130025) | Cod sursa (job #446396) | Cod sursa (job #3125893)
#include <bits/stdc++.h>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n,m;
vector<int>g[50005],tps;
bool viz[50005];
void DFS(int nod)
{
viz[nod] = true;
for (auto vecin : g[nod])
if (!viz[vecin])
DFS(vecin);
tps.push_back(nod);
}
int main()
{
in >> n >> m;
for (int i = 1; i <= m; i++)
{
int x,y;
in >> x >> y;
g[x].push_back(y);
}
for (int i = 1; i <= n; i++)
if (!viz[i])
DFS(i);
reverse(tps.begin(),tps.end());
for (int i = 0; i < tps.size(); i++)
out << tps[i] << ' ';
return 0;
}