题意:给你一个图,删去一些边之后使图不存在奇环,问你最后最多剩下多少边
结论题:二分图不存在奇环,不存在奇环的图一定是二分图
我们枚举二分图一侧的点,对于每个边,只要他连接的俩个点不在同一个集合中即符合要求,求出最大即可。
int n,m,u[222],v[222],col[222];
int solve()
{
cin>>n>>m;
int ans=0;
rpp(i,m) cin>>u[i]>>v[i];
for(int k=0;k<(1<<n);++k)
{
int tmp=k;
rpp(i,n)
{
if(tmp&1) col[i]=1;
else col[i]=0;
tmp>>=1;
}
int res=0;
rpp(i,m) if(col[u[i]]!=col[v[i]]) ++res;
ans=max(ans,res);
}
return ans;
}
int main()
{
int T;cin>>T;
rpp(_,T) printf("Case #%d: %d\n",_,solve());
return 0;
}