Cod sursa(job #2225115)

Utilizator racheriunicolaechowchow racheriunicolae Data 25 iulie 2018 22:24:43
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
const int NMAX = 1e5 + 5;
using namespace std;
int f[NMAX];
vector <int> a[NMAX];
void dfs(int x)
{
    int i;
    if(f[x])return;
    f[x] = 1;
    for(i=0; i<a[x].size(); i++)
    {
        dfs(a[x][i]);
    }
}
int n, m , i , x , y , ans;
int main()
{
    ifstream fin("dfs.in");
    ofstream fout("dfs.out");
    fin>> n >> m;
    for(i=1; i<=m; i++)
    {
        fin >> x >> y;
        a[x].push_back(y);
        a[y].push_back(x);
    }
    for(i=1; i<=n; i++)
        if(f[i] == 0)
    {
        ans++;
        dfs(i);
    }
    fout << ans;
    return 0;
}