Pagini recente » Cod sursa (job #126910) | Cod sursa (job #849187) | Cod sursa (job #2138187) | Cod sursa (job #2358403) | Cod sursa (job #2665449)
#include<iostream>
#include<vector>
#define NMAX 100001
using namespace std;
vector<unsigned int> adjList[NMAX];
bool isVisited[NMAX];
void dfs(unsigned int startNode) {
isVisited[startNode] = true;
for (auto node : adjList[startNode]) {
if (!isVisited[node]) {
dfs(node);
}
}
}
int main() {
unsigned int N, M;
cin >> N >> M;
for (unsigned int i = 0; i < M; ++i) {
unsigned int startNode, endNode;
cin >> startNode >> endNode;
adjList[startNode].push_back(endNode);
adjList[endNode].push_back(startNode);
}
unsigned int noOfConnectedComps = 0;
for (unsigned int node = 1; node <= N; ++node) {
if (!isVisited[node]) {
dfs(node);
++noOfConnectedComps;
}
}
cout << noOfConnectedComps;
return 0;
}