Cod sursa(job #2870158)

Utilizator Seress26Seres Artur Seress26 Data 12 martie 2022 10:17:34
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <vector>
#define NMAX 200001
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n,m,insule,a,b;
bool Vizitat[NMAX];
vector <int> G[NMAX];
void Citire()
{
    f>>n;
    f>>m;
    for(int i=1;i<=m;i++)
    {
        f>>a;
        f>>b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
}
void Rezolvare(int Start)
{
    int Curent;
    Vizitat[Start]=true;
    for(size_t i=0;i<G[Start].size();i++)
    {
        Curent=G[Start][i];
        if(Vizitat[Curent]==false)
            Rezolvare(Curent);
    }
}
void Afisare()
{
    g<<insule;
}
int main()
{
    Citire();
    for(int i=1;i<=n;i++)
    {
        if(Vizitat[i]==false)
        {
            insule++;
            Rezolvare(i);
        }
    }
    Afisare();

    return 0;
}