Cod sursa(job #2792796)

Utilizator AlexNicuNicu Alexandru AlexNicu Data 2 noiembrie 2021 12:19:14
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>

using namespace std;

#define NMAX 100000
#define MMAX 200000

vector<int> v[NMAX];
int f[NMAX + 1], ans[NMAX + 1];
int vx[MMAX + 1];

void DFS( int node ) {
    f[node]++;
    for ( auto copil : v[node] ) {
        if ( f[copil] == 0 ) {
            DFS(copil);
        }
    }
}

ifstream cin ("dfs.in");
ofstream cout ("dfs.out");

int main() {
    int n, m, i, x, y, cnt;
    cin >> n >> m;
    for ( i = 0; i < m; i++ ) {
        cin >> x >> y;
        vx[i] = x;
        v[x].push_back(y);
    }
    for ( i = 0; i < m; i++ ) {
        if ( f[vx[i]] == 0 )
            DFS(vx[i]);
    }
    cnt = 0;
    for ( i = 1; i <= n; i++ ) {
        cnt += ans[i];
    }
    cout << cnt << "\n";
    return 0;
}