Cod sursa(job #2491585)

Utilizator luci.tosaTosa Lucian luci.tosa Data 12 noiembrie 2019 19:41:38
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define NMAX 100000
using namespace std;

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

vector <int> G[NMAX+1];
int viz[NMAX+1],n,m,nrc=0;
void DFS(int nod) {
    viz[nod]=1;
    for(int i=0;i<G[nod].size();i++) {
        int k=G[nod][i];
        if(viz[k]==0)
            DFS(k);
    }
}
int main() {
    fin>>n>>m;
    int i,j;
    for(int k=1;k<=m;k++) {
        fin>>i>>j;
        G[i].push_back(j);
        G[j].push_back(i);
    }
    for(int i=1; i<=n; i++) {
        if(viz[i]==0) {
            nrc++;
            DFS(i);
        }
    }
    fout<<nrc;
    return 0;
}