Cod sursa(job #3340302)

Utilizator daviddxmqStan David Andrei daviddxmq Data 13 februarie 2026 16:55:34
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
const int maxn = 100005;
vector<int> v[maxn];
bool viz[maxn];
int n, m;
int comp = 0;
void dfs(int nod) {
	viz[nod] = true;
	for(int j = 0; j < v[nod].size(); ++j) {
		int vecin = v[nod][j];
		if (!viz[vecin])
			dfs(vecin);
	}
}
int main() {
	fin >> n >> m;
	int x, y;
	for(int i = 0; i < m; i++) {
		fin >> x >> y;
		v[x].push_back(y);
		v[y].push_back(x);
	}
	for(int i = 1; i <= n; i++) {
		if(!viz[i]) {
			comp++;
			dfs(i);
		}
	}
	fout << comp;
	return 0;
}