Cod sursa(job #3361560)

Utilizator SebimunMunteanu Sebastian Sebimun Data 25 iulie 2026 16:43:21
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void dfs(int node, vector<vector<int>>& edges, vector<bool>& viz) {
	viz[node]=true;
	for(auto vecin : edges[node])
		if(!viz[vecin])
			dfs(vecin,edges,viz);
}
int main() {
	ifstream cin("dfs.in");
	ofstream cout("dfs.out");
	int n,m,a,b,cnt,i;
	cin >> n >> m;
	vector<vector<int>> edges(n);
	for(i=0;i<m;i++) {
        cin >> a >> b;
		a--;
		b--;
		edges[a].push_back(b);
		edges[b].push_back(a);
	}
	vector<bool> viz(n);
	cnt=0;
	for(i=0;i<n;i++)
		if(!viz[i]){
			cnt++;
			dfs(i,edges,viz);
		}
	cout << cnt << "\n";
}