Cod sursa(job #894061)

Utilizator alin_iliciAlin Ilici alin_ilici Data 26 februarie 2013 19:28:41
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

void DFS(int nod, vector <int> vec[], int sel[])
{
    int i;
    sel[nod]=1;
    for (i=0;i<vec[nod].size();i++)
    {
        if (sel[vec[nod][i]]==0)
        {
            DFS (vec[nod][i],vec,sel);
        }
    }
}

int main()
{
    vector <int> vec[50];
    int sel[50];
    int a,b,n,m,i,nr=0;
    fstream f("dfs.in");
    ofstream g("dfs.out");
    f>>n>>m;
    for (i=1;i<=m;i++)
    {
        f>>a>>b;
        vec[a].push_back(b);
        vec[b].push_back(a);
    }

    for (i=1;i<=n;i++)
    {
        sel[i]=0;
    }
    for (i=1;i<=n;i++)
    {
        if (sel[i]==0)
        {
            DFS(i,vec,sel);
            nr++;
        }
    }

    g<<nr;
    f.close();
    g.close();
    return 0;
}