Cod sursa(job #2543046)

Utilizator flee123Flee Bringa flee123 Data 10 februarie 2020 19:54:54
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>
#define nmax 100005
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");

bool vizat[nmax];
vector <int> graphs[nmax];
int n, m;

void dfs(int node_start)
{
   vizat[node_start] = 1;
   unsigned len, i;
   len = graphs[node_start].size();
   for(i = 0; i < len; i++)
   {
       if(vizat[graphs[node_start][i]] == 0)
        dfs(graphs[node_start][i]);
   }
}

int main()
{
    int x, y, i;
    fin >> n >> m;
    for(i = 0; i < m; i++)
    {
        fin >> x >> y;
        graphs[x].push_back(y), graphs[y].push_back(x);
    }
    x = 0;
    for(i = 1; i <= n; i++)
    {
        if(!vizat[i])
            dfs(i), ++x;
    }
    fout << x;

    return 0;
}