Cod sursa(job #2389555)

Utilizator andreibudoiAndrei Budoi andreibudoi Data 27 martie 2019 11:20:16
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#if 1
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int viz[100002];
vector<int>graph[100002];

void parcurgere_adancime(int nod)
{

	viz[nod] = 1;
	int lim = graph[nod].size();
	for (int i = 0; i < lim; i++)
		if (viz[graph[nod][i]] == 0)
			parcurgere_adancime(graph[nod][i]);
}

int main()
{
	int n, m;
	ifstream f("dfs.in");
	ofstream g("dfs.out");
	f >> n >> m;
	int k = 0;
	for (int i = 1; i <= m; i++)
	{
		int a, b;
		f >> a >> b;
		graph[a].push_back(b);
		graph[b].push_back(a);
	}
	for (int i = 1; i <= n; i++)
		if (viz[i] == 0)
		{
			parcurgere_adancime(i);
			k++;
		}
	g << k;
	return 0;
}
#endif