Cod sursa(job #2796180)

Utilizator AndreeaGeamanuAndreea AndreeaGeamanu Data 7 noiembrie 2021 18:08:51
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 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 n){

    // Se parcurg nodurile grafului in ordine
    for(int i=1; i<=n; i++){
        if(viz[i]==0){
            conex++;
            viz[i]=1;
            for(int j=0; j<la[i].size(); j++){
                viz[la[i][j]]=1;
            }
        }
    }
}



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);
    }

    DFS(n);

    g<<conex;

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