Cod sursa(job #1044985)

Utilizator gerd13David Gergely gerd13 Data 30 noiembrie 2013 18:26:25
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#define MAXN 1005

using namespace std;

int N, M, A[MAXN][MAXN], viz[MAXN], cnt;

ifstream cin ("dfs.in");
ofstream cout ("dfs.out");

void citire ()
{
    int x, y;
    cin >> N >> M;
    for( int  i = 1; i <= M; ++ i)
    {
        cin >> x >> y;
        A[x][y] = A[y][x] = 1;

    }
}

void DFS ( int nod)
{
    viz[nod] = 1;
    for ( int  i = 1; i <= N; ++ i)
        if(!viz[i] && A[nod][i])
        DFS(i);

}

int main()
{
    citire();
    for ( int i = 1; i <= N; ++ i)
        if(!viz[i])
        {
            ++ cnt ;
            DFS(i) ; }
            cout << cnt ;
    cin.close();
    cout.close();

    return 0;
}