Cod sursa(job #2309164)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 28 decembrie 2018 15:30:12
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;

ifstream fin ("dfs.in");
ofstream fout ("dfs.out");

vector <int> L[100002];
bool viz[100002];

void DFS(int k)
{
    viz[k] = 1;
    for (int j = 0; j < L[k].size(); j++)
    {
	if (!viz[L[k][j]])
	    DFS(L[k][j]);
    }
}

int main ()
{
    int i, j = 0, N, M, x, y;
    fin >> N >> M;
    for (i = 1; i <= M; i++)
    {
	fin >> x >> y;
	L[x].push_back(y);
	L[y].push_back(x);
    }

    for (i = 1; i <= N; i++)
	if (!viz[i])
	{
	    j++;
	    DFS(i);
	}
    fout << j << "\n";
    return 0;
}