Cod sursa(job #1695763)

Utilizator stefanOTTRIFESCU STEFAN-OCTAVIAN stefanOT Data 27 aprilie 2016 19:17:38
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int N,M,C[100001],c;
vector <int> G[100001],V;

void citire()
{
    int X,Y;
    in>>N;
    in>>M;
    for(int i=1;i<=M;++i){
        in>>X>>Y;
    G[X].push_back(Y);
    G[Y].push_back(X);}

}
void parcurgere(int nod){

   for(int i=0; i<G[nod].size(); ++i)
    {
       if(C[G[nod][i]]==0){
        V.push_back(G[nod][i]);
       C[G[nod][i]]=1;
       parcurgere(G[nod][i]);}
    }



    }
void parcurgere2()
{
    for(int i=1; i<= N; ++i)
    {
        if(C[i]==0){
              ++c;
            C[i]=1;
        V.push_back(i);
            parcurgere(i);}
    }

}
int main()
{
    citire();
    parcurgere2();
    out<<c;
    return 0;
}