Cod sursa(job #1677967)

Utilizator adystar00Bunea Andrei adystar00 Data 6 aprilie 2016 21:47:03
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int vc[100001];
vector<vector<int> > v(100001);
void dfs(int nod)
{
    int a=v[nod].size(),i;
    vc[nod]=1;
    for(i=0; i<a; i++)
        if(vc[v[nod][i]]==0)
            dfs(v[nod][i]);
}
int main()
{
    ifstream fin ("dfs.in");
    ofstream fout ("dfs.out");
    int conex=0,i,j,n,m,a,b;
    fin>>n>>m;
    for(i=1; i<=m; i++)
    {
        fin>>a>>b;
        v[i].push_back(b);
        v[i].push_back(a);
    }
    for(i=1; i<=n; i++)
    {
        if(vc[i]==0)
        {
            conex++;
            dfs(i);
        }
    }
    fout<<conex;
    return 0;
}