[ZJOI2007]矩阵游戏 二分图匈牙利算法
来源:互联网 发布:nokia5233软件下载 编辑:程序博客网 时间:2024/06/04 20:11
题意:给定01矩阵,可以行列交换,问是否可以使左上到右下的一条对角线全为1。
分析:匈牙利算法,把每个数的行列连一条边,看能否全部匹配。
注意:匈牙利算法dfs里面要dfs(match[i])。
#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxn=210;int mp[maxn][maxn];int vis[maxn];int match[maxn];int n;bool dfs(int u){ for(int i=1;i<=n;i++){ if(mp[u][i] && !vis[i]){ vis[i]=1; if(!match[i] || dfs(match[i])){ match[i]=u; return true; } } } return false;}int main(){ int T; scanf("%d",&T); while(T--){ memset(mp,0,sizeof(mp)); memset(match,0,sizeof(match)); scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++){ int x; scanf("%d",&x); mp[i][j]=x; } int ans=0; for(int i=1;i<=n;i++){ memset(vis,0,sizeof(vis)); if(dfs(i)) ans++; else break; } if(ans==n) printf("Yes\n"); else printf("No\n"); } return 0;}
^_^
0 0
- [ZJOI2007]矩阵游戏 二分图匈牙利算法
- bzoj 1059: [ZJOI2007]矩阵游戏|二分图匹配|匈牙利算法
- bzoj 1059: [ZJOI2007]矩阵游戏(匈牙利算法)
- 【bzoj 1059】[ZJOI2007]矩阵游戏(匈牙利算法)
- [BZOJ1059][ZJOI2007][二分图匹配]矩阵游戏
- bzoj1059: [ZJOI2007]矩阵游戏 二分图
- [BZOJ1059]ZJOI2007矩阵游戏|二分图匹配
- 【bzoj1059】 ZJOI2007矩阵游戏 二分图匹配
- 【bzoj1059】【zjoi2007】【矩阵游戏】【二分图匹配】
- 【BZOJ1059】[ZJOI2007]矩阵游戏【二分图匹配】
- [BZOJ1059] [ZJOI2007] 矩阵游戏 - 二分图匹配
- 【BZOJ1059】[ZJOI2007][二分图匹配]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏 二分图匹配
- bzoj1059: [ZJOI2007]矩阵游戏 二分图匹配
- BZOJ 1059 矩阵游戏(二分图匹配,匈牙利算法)
- ZJOI2007 矩阵游戏 二分匹配
- 1059: [ZJOI2007]矩阵游戏 (匈牙利)
- [BZOJ1059][ZJOI2007]矩阵游戏(二分图匹配)
- SpringMVC学习总结(三).SpringMVC处理静态资源和数据处理
- HTML_表格实例
- 回首2016,展望2017
- 石子合并问题
- Java 强引用、弱引用、软引用、虚引用
- [ZJOI2007]矩阵游戏 二分图匈牙利算法
- log4j简单分析
- linux正则表达式的学习
- 1.14 aerospike的设计与实现
- shell的case esac
- socket实现TCP数据传输
- 死锁以及如何避免死锁
- gulp基本使用
- 数字三角形