Cod sursa(job #1784362)

Utilizator Kln1000Ciobanu Bogdan Kln1000 Data 19 octombrie 2016 22:58:30
Problema Parcurgere DFS - componente conexe Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

struct nod{
int val;
bool vaz;
vector <int> vecini;};

vector <nod> v(100010);

void dfs(int nod,const int marker){
    v[nod].vaz=true;
    v[nod].val=marker;
    for (auto i:v[nod].vecini)
        if (!v[i].vaz)
            dfs(i,marker);
}

int main()
{   int n,m,x,y,indice=0;
    f>>n>>m;
    for (int i=0;i<m;++i){
        f>>x>>y;
        v[x].vecini.push_back(y);
        v[y].vecini.push_back(x);
    }
    for (int i=0;i<n;++i)
        if (!v[i].vaz)
        dfs(i,++indice);
    t<<indice;
    return 0;
}