Cod sursa(job #896520)

Utilizator michael9ufoStanescu Mihai michael9ufo Data 27 februarie 2013 15:59:42
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int N, M, i, j, rez=0;

vector<int> V[100005];

int VIZ[100005];

void solve(int now)
{

    VIZ[now] = 1;
    for(vector<int>::iterator it=V[now].begin();it!=V[now].end();++it)
        if(!VIZ[*it])
            solve(*it);

}

int main()
{

    freopen("dfs.in", "r", stdin);
    freopen("dfs.out", "w", stdout);

    cin>>N>>M;

    for(i=1;i<=M;++i)
    {
        int A, B;
        scanf("%d %d", &A, &B);
        V[A].push_back(B);
    }

    for(i=1;i<=N;++i)
        if(!VIZ[i])
        {
            ++rez;
            solve(i);
        }

    cout<<rez<<"\n";

    return 0;
}