Cod sursa(job #2315944)

Utilizator priboiraduPriboi Radu Bogdan priboiradu Data 10 ianuarie 2019 20:02:19
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>

std::vector < int > g[100001];
int d[100001];

int mrk( int nd ) {
    int i;
    d[nd] = 1;
    for ( i = 0; i < g[nd].size(); i++ )
        mrk( g[nd][i] );
}

int main() {
    FILE *fin, *fout;
    int n, m, i, x, y, c = 0;
    fin = fopen( "dfs.in", "r" );
    fout = fopen( "dfs.out", "w" );
    fscanf( fin, "%d%d", &n, &m );
    for ( i = 0; i < n; i++ ) {
        fscanf( fin, "%d%d", &x, &y );
        g[x].push_back( y );
    }
    for ( i = 1; i <= n; i++ ) {
        if ( d[i] == 0 ) {
            c++;
            mrk( i );
        }
    }
    fprintf( fout, "%d", c );
    fclose( fin );
    fclose( fout );
    return 0;
}