Pagini recente » Cod sursa (job #3331070) | Cod sursa (job #2559775) | Cod sursa (job #1437676) | Cod sursa (job #3329790) | Cod sursa (job #3326814)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int viz[50005];
vector<int> adj[50005], ord;
vector<pair<int,int>> edges;
void dfs(int nod)
{
if(viz[nod] == 1) return;
viz[nod] = 1;
for(int neigh : adj[nod])
dfs(neigh);
ord.push_back(nod);
}
void solve()
{
int n, m, x, y, i;
fin >> n >> m;
while(m--)
{
fin >> x >> y;
adj[x].push_back(y);
edges.push_back({x, y});
}
for(i = 1; i <= n; i++)
if(viz[i] == 0)
dfs(i);
reverse(ord.begin(), ord.end());
for(auto x : ord)
fout << x << " ";
}
int main() {
solve();
return 0;
}