Cod sursa(job #1937394)

Utilizator GhostWalkingPredoaica MIhai GhostWalking Data 23 martie 2017 22:21:06
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <vector>
#include <fstream>
#define Nrmax 100004

using namespace std;

vector<int> graf[Nrmax];
bool viz[Nrmax];


void DFS(int s)
{
    viz[s]=true;
    int len = graf[s].size();
    for(int i=0;i<len;i++)
        if(!viz[graf[s][i]])
        {
            DFS(graf[s][i]);
        }
}


int main()
{
    int nr=0,n,m,i,nod,vecin;
    ifstream fin("dfs.in");
    ofstream fout("dfs.out");
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>nod>>vecin;
        graf[nod].push_back(vecin);
        graf[vecin].push_back(nod);
    }
    for(i=1;i<=n;i++)
    {
        if(!viz[i])
        {
            nr++;
            DFS(i);
        }
    }
    fout<<nr;
    return 0;
}