Cod sursa(job #1184109)

Utilizator DiaconuDanDiaconu Dan DiaconuDan Data 11 mai 2014 13:47:22
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <cstdio>
#include <vector>

using namespace std;

ofstream fout("dfs.out") ;

vector <int> V[100008];
int uz[100008];
int n , m, nr ;

void citire();
void dfs(int);


int main()
{
    int i;
    citire();
    for ( i = 1 ; i <= n ; i++)
        if ( uz[i] == 0) { nr++; dfs(i);}
    fout << nr << '\n' ;
    return 0;
}


void citire()
{
    int i, x , y ;
    freopen("dfs.in", "r", stdin);
    scanf( "%d %d", &n, &m);
    for ( i = 1 ; i <= m ; i++ )
    {
        scanf( "%d %d", &x, &y );
        V[x].push_back(y);
        V[y].push_back(x);
    }
}

void dfs( int k )
{
    int i ;
    uz[k] = 1;
    for ( i = 0 ; i < V[k].size() ; i++)
        if ( uz[V[k][i]]  == 0) dfs(V[k][i]) ;
}