Cod sursa(job #2398009)

Utilizator StasBrega Stanislav Stas Data 4 aprilie 2019 23:09:59
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

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

vector <int> a[100005];

const int oo=100010;
int N,M,nr,k[100005];

void citeste()
{
    fin >> N >> M;
    for(int i=1;i<=M;i++)
    {
        int x,y;
        fin >> x >> y;
        a[x].push_back(y);
        a[y].push_back(x);
    }
}
void dfs(int nod)
{
    k[nod]=1;
    for(int i=0;i<a[nod].size();i++)
        if(k[a[nod][i]]==0)
            dfs(a[nod][i]);
}
int main()
{

    citeste();

    for(int i=1;i<=N;i++)
        if(k[i]!=1)
        {
            nr++;
            dfs(i);
        }

    fout << nr;

    return 0;

}