Pagini recente » Cod sursa (job #3179700) | Cod sursa (job #1048151) | Cod sursa (job #661932) | Cod sursa (job #2437581) | Cod sursa (job #2976691)
#include <bits/stdc++.h>
using namespace std;
string np = "sortaret";
ifstream f(np + ".in");
ofstream g(np + ".out");
// #define f cin
// #define g cout
int n, m;
bool viz[50003];
vector<int> adj[50003], rez;
void dfs(int nod)
{
viz[nod] = 1;
for (auto u : adj[nod])
if (!viz[u])
dfs(u);
rez.push_back(nod);
}
void top_sort()
{
for (int i = 1; i <= n; i++)
if (!viz[i])
dfs(i);
reverse(rez.begin(), rez.end());
}
int main()
{
ios_base::sync_with_stdio(false);
f.tie(nullptr);
f >> n >> m;
for (int i = 1, a, b; i <= m; i++)
f >> a >> b, adj[a].push_back(b);
top_sort();
for (auto x : rez)
g << x << " ";
return 0;
}