Cod sursa(job #1837384)

Utilizator alexandruchiriacAlexandru Chiriac alexandruchiriac Data 29 decembrie 2016 16:36:31
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <vector>

#define nrmax 101
using namespace std;

ifstream f("dfs.in");
ofstream g("dfs.out");

int n , m , x;
vector < int > G[nrmax];
vector < int > ::iterator j ;
bool used[nrmax];

void dfs( int x )
{
    //g << x << " " ;
    used[x] = 1;
        for ( int j = 0 ; j < G[x].size() ; j++ )
        {
            if ( !used[ G[x][j] ] )
            {
                dfs( G[x][j] );
            }
        }

}

int main()
{
    f >> n >> m ;
    for (  ; m-- ; )
    {
        int a,b;
        f >> a >> b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
    int a,b,cnt=0;
   /* f >> n;
    while ( f >> a >> b ) G[a].push_back(b) , G[b].push_back(a) ; */
    for ( int i = 1; i <= n ; i++ )
    {
        if ( !used[i] )
        {
            dfs(i);
            cnt++;
        }
    }
    g << cnt ;
    return 0;
}