二分图——洛谷P1129 [ZJOI2007]矩阵游戏
来源:互联网 发布:守望先锋英雄数据库 编辑:程序博客网 时间:2024/06/08 16:06
https://www.luogu.org/problem/show?pid=1129
二分图的基本建模;
我们发现一个行一个列只要有一个点就好啦;
意味着我们每一行上的多个点其实最多只移动一颗;
所以直接大力二分图,a[i,j]有点i连接j;
表示i行可以有j列移过来;
#include<bits/stdc++.h>using namespace std;const int N=205;struct cs{int to,nxt;}a[N*N*2];int head[N],ll,link[N];int n,m,x,ans;bool vi[N];void init(int x,int y){ a[++ll].to=y; a[ll].nxt=head[x]; head[x]=ll;}bool dfs(int x){ for(int k=head[x];k;k=a[k].nxt) if(!vi[a[k].to]){ vi[a[k].to]=1; if(!link[a[k].to]||dfs(link[a[k].to])){ link[a[k].to]=x;return 1; } }return 0;}int main(){ scanf("%d",&m); while(m--){ ll=0;memset(head,0,sizeof head); ans=0;memset(link,0,sizeof link); scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++){ scanf("%d",&x); if(x)init(i,j); } for(int i=1;i<=n;i++){ memset(vi,0,sizeof vi); if(dfs(i))ans++; } if(ans==n)printf("Yes\n");else printf("No\n"); }}
阅读全文
1 0
- 二分图——洛谷P1129 [ZJOI2007]矩阵游戏
- 洛谷P1129 ZJOI2007矩阵游戏
- 洛谷P1129 [ZJOI2007]矩阵游戏
- 二分图匹配——BZOJ1059/Luogu1129 [ZJOI2007]矩阵游戏
- [BZOJ1059][ZJOI2007][二分图匹配]矩阵游戏
- bzoj1059: [ZJOI2007]矩阵游戏 二分图
- [BZOJ1059]ZJOI2007矩阵游戏|二分图匹配
- 【bzoj1059】 ZJOI2007矩阵游戏 二分图匹配
- 【bzoj1059】【zjoi2007】【矩阵游戏】【二分图匹配】
- 【BZOJ1059】[ZJOI2007]矩阵游戏【二分图匹配】
- [BZOJ1059] [ZJOI2007] 矩阵游戏 - 二分图匹配
- 【BZOJ1059】[ZJOI2007][二分图匹配]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏 二分图匹配
- [ZJOI2007]矩阵游戏 二分图匈牙利算法
- bzoj1059: [ZJOI2007]矩阵游戏 二分图匹配
- ZJOI2007 矩阵游戏 二分匹配
- bzoj 1059: [ZJOI2007]矩阵游戏|二分图匹配|匈牙利算法
- [BZOJ1059][ZJOI2007]矩阵游戏(二分图匹配)
- postfix邮件管理
- java面试题
- 二元回归解决图像恢复问题(图像去噪)
- Big-man的Bootstrap篇(一)
- 浅析人脸检测之Haar分类器方法
- 二分图——洛谷P1129 [ZJOI2007]矩阵游戏
- 递归算法简单理解(转)
- 第26课: Spark Runtime(Driver、Masster、Worker、Executor)内幕解密
- How Many Nines(ZOJ-3950)
- String painter
- Linux常用基础命令
- 机器人塔
- Dotween 淡入淡出 循环效果
- kube-controller-manager最佳配置