任意两点没有边相连的点集就是独立集
任意两点都有一条边相连的子图就是团
定理
无向图G的最大团等于其补图G'的最大独立集
而最大独立集又是N减去最大匹配数
bool dfs(int x)
{
for(int i=n+1;i<=2*n;i++)
{
if(mp[x][i]&&vis[i]==0)
{
vis[i]=1;
if(match[i]==-1||dfs(match[i]))
{
match[i]=x;
return 1;
}
}
}
return 0;
}