Cod sursa(job #2796189)

Utilizator AndreeaGeamanuAndreea AndreeaGeamanu Data 7 noiembrie 2021 18:21:14
Problema Parcurgere DFS - componente conexe Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <bits/stdc++.h>

#define nmax 100010

using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");

vector <int> la[nmax];
int viz[nmax]={0}, conex=0;

void DFS(int nod){

    viz[nod]=1;
    for(int j=0; j<la[nod].size(); j++){
        if(viz[la[nod][j]]==0)
            DFS(la[nod][j]);
    }
}



int main()
{   int n,m,x,y;

    f>>n>>m;

    //Se introduc muchiile in liste de adiacenta
    for(int i=1; i<=n; i++){
        f>>x>>y;
        la[x].push_back(y);
        la[y].push_back(x);
    }

    for(int j=1; j<=n; j++){
        if(viz[j]==0){
            conex++;
            DFS(j);
        }
    }

    g<<conex;

    f.close();
    g.close();
    return 0;
}