Cod sursa(job #2358866)

Utilizator teodor.dumitrescuDumitrescu Teodor teodor.dumitrescu Data 28 februarie 2019 13:44:17
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

vector <int> graph[100005];
int vizitat[100005];

void DFS(int x)
{
    int i,vecin;
    vizitat[x]=1;
    int lim=graph[x].size();
    for(i=0;i<lim;i++)
    {
        vecin=graph[x][i];
        if(vizitat[vecin]==0)
            DFS(vecin);
    }
}


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

    int n,m,a,b,i,nr_comp_conexe=0;
    f>>n>>m;
    for(i=0;i<m;i++)
    {
        f>>a>>b;
        graph[a].push_back(b);
        graph[b].push_back(a);
    }
    for(i=1;i<=n;i++)
    {
        if(vizitat[i]==0)
        {
            nr_comp_conexe++;
            DFS(i);
        }
    }
    g<<nr_comp_conexe;
    return 0;
}