Cod sursa(job #2285624)

Utilizator HedeaMihneAHedea Mihnea HedeaMihneA Data 18 noiembrie 2018 20:32:44
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

#define DIM 100105

#include <vector>

using namespace std;

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

int n,m,x,y,c,f[DIM];

vector<int> L[DIM];

void dfs(int nod){
    f[nod]=c;
    for(int i=0;i<L[nod].size();i++){
        int vec=L[nod][i];
        if(f[vec]==0){
            f[vec]=c;
            dfs(vec);
        }
    }
}
int main(){

    fin>>n>>m;
    for(int i=1;i<=m;i++){
        fin>>x>>y;
        L[x].push_back(y);
        L[y].push_back(x);
    }
    for(int i=1;i<=n;i++)
        if(f[i]==0){
           c++;
           dfs(i);
        }
    fout<<c;
    return 0;
}