Cod sursa(job #2215948)

Utilizator Sergiu1256Ionita Sergiu1256 Data 24 iunie 2018 13:14:31
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
//
//  main.cpp
//  practice
//
//  Created by адин on 24.06.2018.
//  Copyright © 2018 Ionitas. All rights reserved.
//

#include <fstream>
#include <vector>
using namespace std;

vector <int> myvertex[100005];
int N,M;bool viz[100005];

inline void DFS(int x){
    viz[x]=1;
    for(unsigned int i(1);i<=myvertex[x].size();i++){
        int Vecin=myvertex[x][i];
        if(!viz[x]) DFS(Vecin);
    }
}

int main(int argc, const char * argv[]) {
    ifstream cin("dfs.in");
    ofstream cout("dfs.out");
    int count(0);
    cin>>N>>M;
    for(int x,y,i(1);i<=M;i++){
        cin>>x>>y;
        myvertex[x].push_back(y);
        myvertex[y].push_back(x);
    }
    for(int i(1);i<=N;i++){
        if (!viz[i]) count++,DFS(i);
    }
    cout<<count;
    return 0;
}