Cod sursa(job #1546976)

Utilizator andrei_bB. Andrei andrei_b Data 8 decembrie 2015 21:32:28
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <vector>

using namespace std;

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

vector <int> v[100000];
int n,m,cate,a,b;
bool da[100000];

void dfs ( int p ){

    if ( da[p] )
        return;

    for ( int i=0 ; i<v[p].size() ; i++ ){
        da[v[p][i]]=true;
        dfs(v[p][i]);
    }

}


int main()
{
    fin>>n>>m;
    for ( int i=1 ; i<=m ; i++ ){
        fin>>a>>b;
        v[a].push_back(b);
    }
    for ( int i=1 ; i<=n ; i++ ){
        if ( !da[i] ){
            dfs(i);
            cate++;
        }
    }
    fout<<cate;
}