Cod sursa(job #2434036)

Utilizator KataIsache Catalina Kata Data 30 iunie 2019 14:28:38
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include<bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");

vector <int> edge[100002];
bool us[100002];
void dfs (int x);
int main()
{
  int n,i,m,x,y,nr=0;
  fin>>n>>m;
  for(i=1;i<=m;i++)
      {
       fin>>x>>y;
       edge[x].push_back(y);
      }
  for(i=1;i<=n;i++)
    if(!us[i])
      {
        nr++;
        dfs(i);
      }
  fout<<nr;
  return 0;
}
void dfs (int x)
{ int i;
  if(us[x]) return;
  else {
        us[x]=1;
        for(i=0;i<edge[x].size();++i)
            dfs(edge[x][i]);
        }
}