【bzoj1059】 ZJOI2007—矩阵游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=1059 (题目链接)
题意
一个01矩阵,可以任意交换两行或两列,问能否经过若干次交换后使主对角线全为1。
Solution
hzwer:同行同列的点无论经过多少次变换仍然同行或同列,所以题目可转换为能不能找到n个互相不同行或同列的点。
代码
// bzoj1059
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
#define LL long long
#define inf 10000000
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std; const int maxn=300;
int p[maxn],vis[maxn],f[maxn][maxn];
int n,cnt; bool match(int x) {
for (int i=1;i<=n;i++) if (vis[i]!=cnt && f[x][i]) {
vis[i]=cnt;
if (!p[i] || match(p[i])) {p[i]=x;return 1;}
}
return 0;
}
int main() {
int T;scanf("%d",&T);
while (T--) {
scanf("%d",&n);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++) scanf("%d",&f[i][j]);
int ans=0;cnt=0;
memset(p,0,sizeof(p));
memset(vis,0,sizeof(vis));
for (int i=1;i<=n;i++) {
cnt++;
if (match(i)) ans++;
}
if (ans==n) puts("Yes");
else puts("No");
}
return 0;
}
【bzoj1059】 ZJOI2007—矩阵游戏的更多相关文章
- BZOJ1059 ZJOI2007 矩阵游戏 【二分图匹配】
BZOJ1059 ZJOI2007 矩阵游戏 Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一 ...
- [bzoj1059][ZJOI2007]矩阵游戏_二分图最大匹配
矩阵游戏 bzoj-1059 ZJOI-2007 题目大意:给定一个n*n的棋盘,上面有一些格子被染黑,剩下都是白色.你每次可以交换两列或者两行,问你能否通过一系列操作使得棋盘的主对角线上的格子全是黑 ...
- [bzoj1059] [ZJOI2007] 矩阵游戏 (二分图匹配)
小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种操作:行交换操作:选 ...
- [BZOJ1059]:[ZJOI2007]矩阵游戏(二分图匹配)
题目传送门 题目描述 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏.矩阵游戏在一个N×N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种 ...
- BZOJ1059 [ZJOI2007]矩阵游戏 二分图匹配 匈牙利算法
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1059 题意概括 有一个n*n(n<=200)的01矩阵,问你是否可以通过交换整行和整列使得左 ...
- bzoj1059: [ZJOI2007]矩阵游戏
二分图匹配. 补充,感觉之前说的不够详细,如果有完美匹配的话,每行都有一个对应的列,那么换来换去以后,对角线就全黑了... #include<cstdio> #include<alg ...
- bzoj 1059: [ZJOI2007]矩阵游戏 二分图匹配
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1891 Solved: 919[Submit][Statu ...
- BZOJ 1059 [ZJOI2007]矩阵游戏
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2707 Solved: 1322[Submit][Stat ...
- bzoj 1059 [ZJOI2007]矩阵游戏(完美匹配)
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2993 Solved: 1451[Submit][Stat ...
- BZOJ 1059: [ZJOI2007]矩阵游戏( 匈牙利 )
只要存在N个x, y坐标均不相同的黑格, 那么就一定有解. 二分图匹配, 假如最大匹配=N就是有解的, 否则无解 ------------------------------------------- ...
随机推荐
- Gui系统之View体系(2)---View的setContent
1.从SetContentView讲起 1.1Activty的setContentView里面的内容 public void setContentView(@LayoutRes int layoutR ...
- FastDFS+Nginx(单点部署)事例
FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统,用纯C语言开发,包括文件存储.文件同步.文件访问(上传.下载).存取负载均衡.在线扩容.相同内容只存储一份等功能,适合 ...
- Java导入的项目乱码怎么解决?(Ⅰ)
1.项目右键 打开 >> Properties >> Resource >> Text file encoding >> Other 如 ...
- C#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle)
using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...
- Python安装
Win10 安装Python 1.官网下载Python安装包,一直点击下一步进行安装 安装完Python后要设置环境变量,右键我的电脑-->属性-->高级系统设置-->环境变量--& ...
- shell中各种括号的作用()、(())、[]、[[]]、{}
一.小括号,圆括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有 ...
- Linux下安装Nginx1.9.3
操作系统:CentOS6.5 64bit Nginx: 1.9.3 1.下载Nginx [root@iZ94jj63a3sZ softs]# wget http://nginx.org/downloa ...
- 2016.10.29 清北学堂NOIP冲刺班Day1 AM 考试总结
成绩:满分300,我得了200, 1:90//前两个题目都是模拟,没用到什么其他算法,第一题有可能少考虑了一点细节 2:100 3:10//感觉是个DP,但是毫无思路,只打了个普通背包,10分而已. ...
- POJ2406Power Strings[KMP 失配函数]
Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 45005 Accepted: 18792 D ...
- ThreadLocal
package cn.happy.util; import org.hibernate.Session;import org.hibernate.SessionFactory;import org.h ...