Cod sursa(job #2887327)

Utilizator bluestorm57Vasile T bluestorm57 Data 9 aprilie 2022 13:10:28
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <vector>

using namespace std;

const int NMAX = 1e5 + 10;
vector < int > v[NMAX];
bool viz[NMAX];

void dfs(int node) {
	viz[node] = 1;
	for (auto it : v[node]) {
		if (viz[it])	continue;
		dfs(it);
	}
}

int main() {	
	ifstream f("dfs.in");
	ofstream g("dfs.out");

	int n, m;
	f >> n >> m;
	for (int i = 1; i <= m; i++) {
		int x, y;
		f >> x >> y;
		v[x].push_back(y);
		v[y].push_back(x);
	}
	f.close();

	int comp = 0;
	for (int i = 1; i <= n; i++) {
		if (viz[i]) continue;
		dfs(i);
		comp++;
	}

	g << comp;
	g.close();

	return 0;
}