Cod sursa(job #2468157)

Utilizator MariusblockMoga Marius-Ioan Mariusblock Data 5 octombrie 2019 13:11:15
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;

vector<int> G[100005];
int viz[100005];

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

void dfs(int i,int k){
    int j;
    viz[i] = k;
    for(j = 0; j < G[i].size(); j++){
        if(viz[G[i][j]] == 0){
            dfs(G[i][j],k);
        }
    }
}

int main(){
    int i,n,m,j,k = 1;
    int x,y;
    fin>>n>>m;
    for(i = 1; i <= m; i++){
        fin>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
    }
    for(i = 1; i <= n; i++){
        if(viz[i] == 0){
            dfs(i,k);
            k++;
        }
    }
    fout<<k-1<<endl;
    return 0;
}