Cod sursa(job #1628044)

Utilizator Antonio9227wdasdas Antonio9227 Data 3 martie 2016 20:33:02
Problema Parcurgere DFS - componente conexe Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <stdio.h>
#include <vector>

using namespace std;

vector<int> graf[100000];
bool vizitat[100000];

void visit(int nod)
{
    vizitat[nod]=true;
    vector<int>::iterator it;

    for(it=graf[nod].begin(); it!=graf[nod].end(); it++)
        if(!vizitat[*it])
            visit(*it);
}

int main()
{
    freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);
    int n,m,c=0;//n- noduri, m- muchii
    scanf("%d%d",&n,&m);

    for(int i=0; i<m; i++)
    {
        int nod,muchie;
        scanf("%d%d",&nod,&muchie);
        graf[nod].push_back(muchie);
        graf[muchie].push_back(nod);
    }

    for(int i=1; i<=n; i++)
        if(!vizitat[i])
        {
            visit(i);
            c++;
        }

    printf("%d",c);
}