Cod sursa(job #1698216)

Utilizator serban_andreiserban andrei-catalin serban_andrei Data 3 mai 2016 23:07:00
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
// *CODE BY SERBAN ANDREI*

#include <bits/stdc++.h>

#define nmax 100010
#define mmax 200017

using namespace std;

bool vizitat[nmax];

vector<unsigned int>v[nmax];

unsigned int i,j,n,m,cc,x,y;

void dfs(unsigned int nod)
{
    vizitat[nod]=1;
    for(auto i : v[nod])
    {
        if(vizitat[i]==0)
          dfs(i);
    }

}


int main()
{
    ifstream f("dfs.in");
    ofstream g("dfs.out");

    f>>n>>m;

    while(m--)
    {
        f>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    for(i=1;i<=n;++i)
    {

        if(!vizitat[i])
        {
            cc++;
            dfs(i);
        }

    }

    g<<cc;

    g.close();

    return 0;
}