Cod sursa(job #1184129)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 11 mai 2014 14:39:47
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
#include<vector>
#include<bitset>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
vector<int> v[100009];
bitset<100009> viz;
int n,m;

void dfs(int s)
{

    int i;
    viz[s] = 1;
    for(i = 0 ; i < v[s].size() ; i++)
    {
        if(viz[v[s][i]] == 0){
            viz[v[s][i]] = 1;
            dfs(v[s][i]);
        }
    }
}

int main()
{

   int i,x,y,sol = 0;
   in>>n>>m;
   for(i = 1 ; i <= m ; i++)
   {
       in>>x>>y;
       v[x].push_back(y);
       v[y].push_back(x);
   }
   viz.reset();
   for(i = 1 ; i <= n ; i++)
   if(viz[i] == 0) {
    sol++;
    dfs(i);
   }
   out<<sol;
   return 0;

}