Cod sursa(job #1978604)

Utilizator darian2001Clodnischi Darian Antonio darian2001 Data 8 mai 2017 11:35:34
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

#define Nmax 100010

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

int n,m,noduri;

vector<int> nod[Nmax];
bool vizitat[Nmax];

void dfs(int i){
    for(int j=0;j<nod[i].size();j++)
        if(vizitat[nod[i][j]]==0){
    vizitat[nod[i][j]]=1;
    dfs(nod[i][j]);
    }

}


int main()
{
 f>>n>>m;
 int nod1,nod2;
 for(int i=1;i<=m;i++){
    f>>nod1>>nod2;
    nod[nod1].push_back(nod2);
    nod[nod2].push_back(nod1);
 }
 for(int i=1;i<=n;i++)
 {
    if(vizitat[i]==0){
    noduri++;
    vizitat[i]=1;
    dfs(i);
    }
 }
 g<<noduri;

 f.close();
 g.close();
}