Cod sursa(job #2906002)

Utilizator proflaurianPanaete Adrian proflaurian Data 24 mai 2022 18:46:04
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
const int N = 100001;
int n,m,c;
vector<int> v[N];
queue<int> q;
bitset<N> viz;
int main()
{
    f>>n>>m;
    for(int i=1; i<=m; i++)
    {
        int x,y;
        f>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    for(int i=1;i<=n;i++)
    if(!viz[i])
    {
        c++;
        q.push(i);
        viz[i]=1;
        while(q.size())
        {
            int nod=q.front();
            q.pop();
            for(auto vec:v[nod])
                if(viz[vec]==0)
                {
                    viz[vec]=1;
                    q.push(vec);
                }
        }
    }
    g<<c<<' ';
    return 0;
}