Cod sursa(job #1248659)

Utilizator bujorcatalin14Bujor Catalin bujorcatalin14 Data 25 octombrie 2014 19:04:07
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <vector>
#include <fstream>
#define nmax 100001;
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");

int n , m , viz[100001],x,y,nr;
vector <int>L[100001];

void Citire()
{
    int i , j ;
    fin>>n>>m;
    for(i=1;i<=m;i++)
     {
         fin>>x>>y;
         L[x].push_back(y);
         L[y].push_back(x);

     }
}

void Dfs(int x)
{
    viz[x]=1;
    for(unsigned int i=0;i<L[x].size();i++)
    if ( viz[L[x][i] ] == 0)
      Dfs(L[x][i]);
      //cout<<x<<" ";
}




int main()
{   int i ;
    Citire();
    for(int i =1;i<=n;i++)
   { if(viz[i]==0)
      nr++;
      Dfs(i);

   }
   fout<<nr;

    return 0;
}