Cod sursa(job #3198515)

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

using namespace std;

ifstream fin("dfs.in");
ofstream fout("dfs.out");

const int Nmax=100001;

forward_list<int> v[Nmax];
bitset<Nmax> visited;

void dfs(int node)
{
    visited[node]=1;
    for(auto nxtnode:v[node])
    {
        if(visited[nxtnode]==0)
            dfs(nxtnode);
    }
}

int main()
{
    int n,m;
    fin>>n>>m;
    {
        int x,y;
        for(int i=1; i<=m; i++)
        {
            fin>>x>>y;
            v[x].push_front(y);
            v[y].push_front(x);
        }
    }
    int flag=0;
    for(int i=1; i<=n; i++)
    {
        if(visited[i]==0)
        {
            flag++;
            dfs(i);
        }
    }
    fout<<flag;
    return 0;
}