Cod sursa(job #2734152)

Utilizator andreicosmaAndrei Cosma andreicosma Data 31 martie 2021 14:39:06
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <vector>
#define dim 100005


using namespace std;
string file = "dfs";
ifstream fin(file + ".in");
ofstream fout(file + ".out");
vector<int> L[dim];
bool fr[dim];
int n, m, start, x, y;

inline void dfs( int nod ){
    fr[nod] = true;
    for( int i = 0; i < L[nod].size(); ++i )
        if(!fr[L[nod][i]])
            dfs(L[nod][i]);
}
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);
    }
    int nr = 0;
    for( int i = 1;i <= n; ++i ){
        if(!fr[i]){
            dfs(i);
            nr++;
        }
    }
    fout<<nr;
    return 0;
}