Cod sursa(job #2214289)

Utilizator dahaandreiDaha Andrei Codrin dahaandrei Data 18 iunie 2018 18:37:15
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <vector>

using namespace std;

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

const int MAXN = 1e5;
const int MAXM = 2e5;	

int n, m;
vector <int>g[MAXN + 1];
bool viz[MAXN + 1]; 

void dfs(int nod) {
	viz[nod] = 1;

	for (auto x : g[nod]) {
		if (!viz[x])
			dfs(x);
	}
}

int main() {
	in >> n >> m;

	for (int i = 1; i <= m; ++ i) {
		int a, b;
		in >> a >> b;
		g[a].push_back(b);
		g[b].push_back(a);
	}

	int cnt = 0;
	for (int i = 1; i <= n; ++ i) {
		if (!viz[i])
			dfs(i), ++ cnt;
	}

	out << cnt;

	return 0;
}