Cod sursa(job #1039987)

Utilizator dnprxDan Pracsiu dnprx Data 23 noiembrie 2013 20:26:51
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
#include<vector>

using namespace std;

vector<int> L[100002];
int n, viz[100002];

void Citire()
{
  int i, x, y, m ;
  ifstream fin("dfs.in") ;
  fin >> n >> m ;

  for (i = 1 ; i <= m ; i++)
  {
    fin >> x >> y ;
    L[x].push_back(y);
    L[y].push_back(x);
  }
  fin.close();
}

void DFS(int k)
{
    int j;
    unsigned int i;
    viz[k] = 1;
    for (i = 0; i < L[k].size(); i++)
    {
        j = L[k][i];
        if (!viz[j]) DFS(j);
    }
}

void AfisNrCompCon()
{
    int i, contor = 0;
    for (i = 1; i <= n; i++)
        if (!viz[i])
        {
            contor++;
            DFS(i);
        }
    ofstream fout ("dfs.out");
    fout << contor << "\n";
    fout.close();
}

int main()
{
  Citire() ;
  AfisNrCompCon();
  return 0 ;
}