Cod sursa(job #1571341)

Utilizator M.AndreiMuntea Andrei Marius M.Andrei Data 17 ianuarie 2016 22:44:47
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <vector>
using namespace std;

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

long long viz[100001];
vector <long long> v[100001];

void dfs(long long k)
{
    for (vector<long long>::iterator it = v[k].begin() ; it != v[k].end(); it++)
        if (viz[*it] == 0) {viz[*it] = 1; dfs(*it);}
}

int main()
{
    long long n,m,x,y,nr = 0;
    f >> n >> m;
    for (long long i = 0; i < m; i++){f>>x>>y; v[x].push_back(y);v[y].push_back(x);}
    for (long long i = 1; i <= n; i++ )
        if (viz[i] == 0){viz[i] = 1; dfs(i); nr++;}
    q<<nr;
    f.close();
    q.close();
}