Cod sursa(job #1808517)

Utilizator Tudor_CandeaCandea Tudor Tudor_Candea Data 17 noiembrie 2016 19:36:30
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");

struct vi
{
    bool viz=false;
    vector <int> fer;
};

vi l[100010];

void verif(int nod)
{
    l[nod].viz=true;
    for(int i=0;i<l[nod].fer.size();i++)
    {
        if(!l[l[nod].fer[i]].viz)
            verif(l[nod].fer[i]);
    }
}
void create()
{
    int x, y, n, m, nr=0;
    fin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        fin>>x>>y;
        l[x].fer.push_back(y);
        l[y].fer.push_back(x);
    }
    for(int i=1;i<=n;i++)
    {
        if(!l[i].viz)
        {
            verif(i);
            nr++;
        }
    }
    fout<<nr;
}

int main()
{
    create();
    return 0;
}