➤ 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!!
