Cod sursa(job #1026207)

Utilizator BogdySSSzekely Bogdan BogdySS Data 11 noiembrie 2013 12:52:25
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("dfs.in");
ofstream fout("dfs.out");

void dfs(int k);

int n,nr_m,m[1002][1002],v[1002],nr_el_con=0;

int main()
{
    //n = nr noduri / nm = nr muchii
    fin>>n>>nr_m;
    int a,b;
    for(int i=1;i<=nr_m;i++){
        fin>>a>>b;
        m[a][b]=1;m[b][a]=1;
    }
    for(int i=1;i<=n;i++)
        if(v[i]==0){
            nr_el_con++;
            dfs(i);
        }
    fout<<nr_el_con;
    return 0;
}
void dfs(int k)
{
    v[k]=1;
    for(int i=1;i<=n;i++)
        if(v[i]==0 && m[k][i]==1){
            v[i]=1;dfs(i);
        }
}