Cod sursa(job #3198517)

Utilizator prod_cristiAnghel Cristi prod_cristi Data 29 ianuarie 2024 18:34:18
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

int n, m, lim[100001];
set <int> s[100001];

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

void citire()
{
    f >> n >> m;
    for(int i = 1;i <= m;i ++)
    {
        int x , y;
        f >>x >>y;
        s[x].insert(y);
        s[y].insert(x);
    }
}

void dfs(int nod)
{
    lim[nod] = 1;
    for(auto i : s[nod])
        if(!lim[i])
            dfs(i);
}

void rez()
{
    int nr = 0;
    for(int i = 1;i <= n;i ++)
        if(!lim[i])
            nr ++,dfs(i);
            
    g << nr;
}
int main()
{
    citire();
    rez();

    return 0;
}