Cod sursa(job #3296230)

Utilizator iordacheMatei Iordache iordache Data 12 mai 2025 10:30:59
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
#define pb push_back
#define int long long
using namespace std;
const int N=5e4+5;
vector<int> g[N];
int d[N];
signed main()
{
    ifstream cin("sortaret.in");ofstream cout("sortaret.out");
    int n,m;
    cin>>n>>m;
    for(int _=1;_<=m;++_)
    {
        int u,v;cin>>u>>v;
        g[u].pb(v);
        ++d[v];
    }
    queue<int> q;
    for(int i=1;i<=n;++i) if(d[i]==0) q.push(i);
    while(!q.empty())
    {
        int u=q.front();
        q.pop();
        cout<<u<<" ";
        for(auto v:g[u])
        {
            --d[v];
            if(d[v]==0) q.push(v);
        }
    }
}