Cod sursa(job #2640208)

Utilizator StasBrega Stanislav Stas Data 5 august 2020 16:45:21
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

#define pb push_back
#define ll unsigned long long int

using namespace std;

ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

vector <int> a[50005], cnt(50005), ans;
int N,M,X,Y;

int main()
{

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    fin >> N >> M;
    while(M--) {
        fin >> X >> Y;
        a[X].pb(Y);
        cnt[Y]++;
    }
    for(int i=1; i<=N; ++i)
        if(!cnt[i])
            ans.pb(i);
    for(int i=0; i<N; ++i)
        for(int vecin: a[ans[i]]) {
            cnt[vecin]--;
            if(!cnt[vecin])
                ans.pb(vecin);
        }
    for(int x: ans)
        fout << x << ' ';
	return 0;

}