➤ Problem Link : 216B. Forming Teams
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int int par[101]; int sz[101]; int find(int v) { if(par[v]==v) return v; return par[v]=find(par[v]); } int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { sz[i]=1; par[i]=i; } int u,v,p1,p2,ans=0; for(int i=1;i<=m;i++) { cin>>u>>v; p1=find(u); p2=find(v); if(p1!=p2) { sz[p1]+=sz[p2]; par[p2]=p1; } else { if(sz[p1]%2==1) ans++; } } if((n-ans)%2!=0) ans++; cout<<ans; }
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!!