Cod sursa(job #2003215)

Utilizator Alex_AeleneiAlex Aelenei Ioan Alex_Aelenei Data 22 iulie 2017 12:15:19
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <vector>

using namespace std;
const int NMAX=100000;
vector <int> G[NMAX+5];
int viz[NMAX+5];
void dfs(int u,int cc)
{
  int v,j;
  viz[u]=cc;
  for(j=0;j<G[u].size();++j)
  {
    v=G[u][j];
    if(!viz[u])
      dfs(v,cc);
  }
}
ifstream in("dfs.in");
ofstream out("dfs.out");
int main()
{
  int n,m,i,x,y,j,cc;
  in>>n>>m;
  for(i=1;i<=m;++i)
  {
    in>>x>>y;
    G[x].push_back(y);
    G[y].push_back(x);
  }
  cc=0;
  for(i=1;i<=n;++i)
    if(!viz[i])
    {
      ++cc;
      dfs(i,cc);
    }
  out<<cc;
  return 0;
}