Cod sursa(job #2924719)

Utilizator TraianQTraianQ TraianQ Data 9 octombrie 2022 12:56:06
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <vector>
using namespace std;
vector <int> V[100005];
int f[100005],v[100005];
int n,m,a,b,cnt=0;
void dfs(int k)
{
    f[k]=1;
    for(auto x:V[k])
    {
        if(f[x]==0)
            dfs(x);
    }
    v[++cnt]=k;
}
int main()
{
    ifstream cin("sortaret.in");
    ofstream cout("sortaret.out");
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        cin>>a>>b;
        V[a].push_back(b);
    }
    for(int i=1;i<=n;i++)
        if(f[i]==0)
            dfs(i);
    for(int i=cnt;i>=1;i--)
        cout<<v[i]<<" ";
    return 0;
}