Cod sursa(job #3005283)
Utilizator | Moldovan Andrei MoldovanAndrei1 | Data | 16 martie 2023 20:57:31 |
---|---|---|---|
Problema | Sortare topologica | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
#include <bits/stdc++.h>
using namespace std;
vector<int>v[50005];
int fr[50005];
stack<int>st;
void dfs(int nod)
{
fr[nod]=1;
for(auto it:v[nod])
{
if(!fr[it])
dfs(it);
}
st.push(nod);
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int m ,n,i,j,k,a,b;
cin>>n>>m;
for(i=1;i<=m;i++)
{
cin>>a>>b;
v[a].push_back(b);
}
for(i=1;i<=n;i++)
{
if(!fr[i])
dfs(i);
}
while(!st.empty())
{
cout<<st.top() << " ";
st.pop();
}
return 0;
}