#include <iostream>
#include <vector>
using namespace std;
int main() {
int N=0, M=0;
cin >> N >> M;
vector<int> graph[100001];
vector<bool> visited(N+1, false);
int u=0, v=0;
for(int i=0;i<M;i++) {
cin >> u >> v;
graph[u].push_back(v);
graph[v].push_back(u);
}
int count=0;
for(int start=1;start<=N;start++) {
if(visited[start]==false) {
count++;
vector<int> st;
st.push_back(start);
visited[start]=true;
while(st.empty()!=true) {
int cur=st.back();
st.pop_back();
for(int i=0;i<graph[cur].size();i++) {
int next=graph[cur][i];
if(visited[next]==false){
visited[next]=true;
st.push_back(next);
}
}
}
}
}
cout << count;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: