➤ Problem Link : CAM5
👉 Hint : Use DFS
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; void dfs(vector<vector<int> >&v,bool visited[100001],int i,int n) { vector<int>:: iterator it; visited[i]=1; for(it=v[i].begin();it!=v[i].end();it++) { if(!visited[*it]) dfs(v,visited,*it,n); } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int t; cin>>t; vector<vector<int> >v(100000); bool visited[100001]; while(t--) { int n,e,x,y,cnt=0; cin>>n; cin>>e; for(int i=0;i<n;i++) v[i].clear(); memset(visited,0,sizeof(visited)); while(e--) { cin>>x>>y; v[x].push_back(y); v[y].push_back(x); } for(int i=0;i<n;i++) { if(!visited[i]) { dfs(v,visited,i,n); cnt++; } } cout<<cnt<<endl; } }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!