1059: [ZJOI2007]矩阵游戏
来源:互联网 发布:宏业软件怎么用 编辑:程序博客网 时间:2024/06/16 04:51
题目链接
题目大意:给定一个n×n的01矩阵,可以任意交换两行或两列的数字,问是否能调整出一个局面,使得矩阵的主对角线(左上角到右下角的连线)上都是1。
题解:想到把行和列建成二分图了,可是没想好具体怎么搞……膜了一发题解
Orz
黄学长说,同行同列的点交换后还是同行同列,然后求能否找到n个互不同行互不同列的点。
我的收获:二分图
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int M=205;int T,n,lik[M];bool mp[M][M],vis[M];bool hungary(int x){ for(int i=1;i<=n;i++){ if(!mp[x][i]||vis[i]) continue; vis[i]=true; if(!lik[i]||hungary(lik[i])) return lik[i]=x; } return false;}void work(){ for(int i=1;i<=n;i++){ memset(vis,0,sizeof(vis)); if(!hungary(i)) {puts("No");return ;} } puts("Yes");}void init(){ int x;memset(lik,0,sizeof(lik)); cin>>n; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%d",&x),mp[i][j]=(bool)x;}int main(){ cin>>T; while(T--) { init(); work(); } return 0;}
阅读全文
0 0
- 1059: [ZJOI2007]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏
- bzoj 1059: [ZJOI2007]矩阵游戏
- BZOJ 1059 [ZJOI2007]矩阵游戏
- BZOJ 1059 [ZJOI2007]矩阵游戏
- BZOJ 1059 [ZJOI2007]矩阵游戏
- bzoj 1059: [ZJOI2007]矩阵游戏
- [BZOJ]1059: [ZJOI2007]矩阵游戏
- BZOJ 1059: [ZJOI2007]矩阵游戏
- [bzoj] 1059: [ZJOI2007]矩阵游戏
- 最大匹配 BZOJ 1059: [ZJOI2007]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏 (匈牙利)
- 1059: [ZJOI2007]矩阵游戏 二分图匹配
- bzoj 1059: [ZJOI2007]矩阵游戏 网络流
- [BZOJ1059][ZJOI2007]矩阵游戏
- 算法提高 棋盘多项式
- STM32单片机和MATLAB的USB串口通信,运行MATLAB时STM32就出现复位的问题的解决方法。
- swjtu2382(Paint Box)
- C3常用属性
- shell ' ', " " 和 `` 的区别
- 1059: [ZJOI2007]矩阵游戏
- linux支持大磁盘配置
- Educational Codeforces Round 21 C. Tea Party 贪心
- 洛谷 P1451 求细胞数量
- 动态库的调用方式
- 深入理解Struts2----类型转换
- 一周乱弹(1,js if(!param)判断,2,jquery发送多个ajax请求 $.when().then()3,清空表单)
- Webpack 常见静态资源处理
- C++ STL 一般总结