Cod sursa(job #1389968)

Utilizator DysKodeTurturica Razvan DysKode Data 16 martie 2015 19:12:38
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <vector>
#define curSiz v[z].size()
#define curAsc v[z][i]
using namespace std;

ifstream fin("dfs.in");
ofstream fout("dfs.out");

vector <int> v[100010];
int i,j,in,sf,n,m,q[100010],ver[100010],ans,x,y;

void DFS(int z)
{
    int i;
    i=0;
    ver[z]=1;
    for(i=0 ; i<curSiz ; ++i)
        if( ver[ curAsc ] == 0 )
            DFS( curAsc );
}

int main()
{
    fin>>n>>m;
    for(i=1 ; i<=m ; ++i)
    {
        fin>>x>>y;
        v[ x ].push_back( y );
        v[ y ].push_back( x );
    }
    for(i=1 ; i<=n ; ++i)
    {
        if( ver[ i ] == 0 )
        {
            ++ans;
            DFS( i );
        }
    }

    fout<<ans;


return 0;
}