(König定理)一个二分图中的最大匹配数等于这个图中的最小点覆盖数。
二分图通用思想:一个关系一条边,单向边处理,全部关系达到即最大匹配数或最小点覆盖数。
P1129 [ZJOI2007] 矩阵游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
int tt,n,m,a[200005],mp[205][205],v[205],p[205];
vector<int>vt[205];
int match(int u){
for(auto it:vt[u]){
if(!v[it]){
v[it]=1;
if(!p[it]||match(p[it])){
p[it]=u;return 1;
}
}
}
return 0;
}
void solve(){
cin>>n;for(int i=1;i<=n;i++)vt[i].clear();memset(p,0,sizeof(p));
for(int i=1;i<=n;i++){
for(int k=1;k<=n;k++){
cin>>mp[i][k];
if(mp[i][k]==1){
vt[i].push_back(n-k+1);
}
}
}
int cnt=0;
for(int i=1;i<=n;i++){
memset(v,0,sizeof(v));
if(match(i))cnt++;
}
if(cnt==n)cout<<"Yes\n";
else cout<<"No\n";
}