Cod sursa(job #625755)

Utilizator sanda-mariaPatras Sanda sanda-maria Data 25 octombrie 2011 14:48:12
Problema Parcurgere DFS - componente conexe Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>
#include <vector>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
long niv[100001],i,n,viz[100001],t[100001],m,contor;
vector <int> A[100001];

void citeste_graf()
{    int x,y,i;
  
     
     f>>n;
     f>>m;

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

void df(int k)
{int nr_vecini;
nr_vecini=A[k].size();
     viz[k]=1;
     for(i=0;i<nr_vecini;i++)
     if(viz[A[k][i]]==0)
     df(A[k][i]);
}

int main()
{
    int i;
    citeste_graf();
  
  
    for(i=1;i<=n;i++)
    if(viz[i]==0)
    {df(i);contor++;}
    g<<contor;
    g.close();
    return 0;
}