Cod sursa(job #2461951)

Utilizator ivddabDabelea Ioana-Viviana ivddab Data 26 septembrie 2019 16:20:45
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <vector>
#define NM 100009
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n,m,i,nr,j,x,y;
int fr[NM];
vector < int > a[NM];
void dfs(int k){
  for(int j=0;j<a[k].size();j++){
    y=a[k][j];
    if(fr[y]==0){ fr[y]=1; dfs(y); }
  }
}
int main()
{
    f>>n>>m;
    for(i=1;i<=m;i++){ f>>x>>y; a[x].push_back(y); a[y].push_back(x); }
    nr=0;
    for(i=1;i<=n;i++){
        if(fr[i]==0){
            fr[i]=1; nr++; //g<<i<<' ';
            dfs(i);
        }
    }
    g<<nr<<'\n';
    return 0;
}