Cod sursa(job #1141856)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 13 martie 2014 11:13:57
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream f("dfs.in");
ofstream g("dfs.out");

std::vector <int > l[100010];
int i,n,m,x,y,v[100010],nc;

void dfs(int nod){
    v[nod] = 1;

    for(int i=0;i<l[nod].size();i++)
        if(v[l[nod][i]] == 0)
            dfs(l[nod][i]);

}

int main()
{
    f >> n >>m;
    for(i=1;i<=m;i++){
        f >> x >> y;
        l[x].push_back(y);
    }
    for(i=1;i<=n;i++)
        if(v[i] == 0){
            nc++;
            dfs(i);
        }

    g<<nc;
    return 0;
}