Cod sursa(job #2642046)

Utilizator matei8787Matei Dobrea matei8787 Data 13 august 2020 15:29:16
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include<bits/stdc++.h>
using namespace std;
vector< vector<int> > nodSiMuchii;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<int> gasite;
void rezolvare( int nod )
{
    out<<nod<<" ";
    gasite[nod] = -1;
    for ( int i = 0 ; i < nodSiMuchii[nod].size() ; i++ ){
        if ( gasite[nodSiMuchii[nod][i]] == 0 )
            rezolvare(nodSiMuchii[nod][i]);
    }
}
int vc[50005];
int main()
{
    int n,m;
    in>>n>>m;
    nodSiMuchii.resize(n+1);
    gasite.resize(n+1);
    for ( int i = 1 ; i <= m ; i++ ){
        int a,b;
        in>>a>>b;
        nodSiMuchii[a].push_back(b);
        vc[b]++;
    }
    for ( int i = 1 ; i <= n ; i++ ){
        if ( vc[i] == 0 ){
            rezolvare(i);
        }
    }
    return 0;
}