Cod sursa(job #2971832)
Utilizator | Balan Stefan Balanel | Data | 28 ianuarie 2023 10:09:59 |
---|---|---|---|
Problema | Sortare topologica | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n,m,x,y,a[50001],t;
bool b[50001];
vector<int> v[50001];
void dfs(int k)
{b[k]=1;
for(int i=0;i<v[k].size();i++)
if(!b[v[k][i]]) dfs(v[k][i]);
a[++t]=k;
}
int main()
{in>>n>>m;
for(int i=1;i<=m;i++)
in>>x>>y,v[x].push_back(y);
for(int i=1;i<=n;i++)
if(!b[i]) dfs(i);
for(int i=n;i>=1;i--)
out<<a[i]<<' ';
return 0;
}