1059. [ZJOI2007]矩阵游戏【二分图】
Description
Input
Output
输出文件应包含T行。对于每一组数据,如果该关卡有解,输出一行Yes;否则输出一行No。
Sample Input
2
0 0
0 1
3
0 0 1
0 1 0
1 0 0
Sample Output
No
Yes
【数据规模】
对于100%的数据,N ≤ 200
发现一个很神奇的事情……
就是这个矩阵如果只交换行或者只交换列无解的话
那这个矩阵就一定无解……至于为什么我也不知道
然后就可以建立二分图求最大匹配了(建行和对角线或列和对角线)
PS这道题还犯了一个沙茶错误就是二分图连边的时候顺手把反向边也连了orz
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
struct node
{
int to,next;
}edge[];
int Ans[],head[],num_edge,used[],Now,T,n,x; void add(int u,int v)
{
edge[++num_edge].to=v;
edge[num_edge].next=head[u];
head[u]=num_edge;
}
bool find(int x)
{
for (int i=head[x];i!=;i=edge[i].next)
if (used[edge[i].to]!=Now)
{
used[edge[i].to]=Now;
if (Ans[edge[i].to]== || find(Ans[edge[i].to]))
{
Ans[edge[i].to]=x;
return true;
}
}
return false;
} int main()
{
scanf("%d",&T);
while (T--)
{
memset(head,,sizeof(head));
memset(Ans,,sizeof(Ans));
memset(used,,sizeof(used));
num_edge=;
scanf("%d",&n);
for (int i=;i<=n;++i)
for (int j=;j<=n;++j)
{
scanf("%d",&x);
if (x==)
add(j,i);
}
bool Flag=true;
for (int i=;i<=n;++i)
{
Now=i;
if (!find(i))
{ Flag=false;
break;
}
}
if (Flag)
printf("Yes\n");
else
printf("No\n");
}
}
1059. [ZJOI2007]矩阵游戏【二分图】的更多相关文章
- BZOJ 1059 [ZJOI2007]矩阵游戏 (二分图最大匹配)
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 5281 Solved: 2530[Submit][Stat ...
- bzoj 1059: [ZJOI2007]矩阵游戏 二分图匹配
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1891 Solved: 919[Submit][Statu ...
- bzoj 1059: [ZJOI2007]矩阵游戏 [二分图][二分图最大匹配]
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行 ...
- 1059: [ZJOI2007]矩阵游戏 二分图匹配
https://www.lydsy.com/JudgeOnline/problem.php?id=1059 裸的二分图匹配,行列匹配即可 /****************************** ...
- 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就是有解的, 否则无解 ------------------------------------------- ...
- 1059: [ZJOI2007]矩阵游戏
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2154 Solved: 1053[Submit][Stat ...
- BZOJ [ZJOI2007]矩阵游戏(二分图匹配)
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 6390 Solved: 3133[Submit][Stat ...
- BZOJ 1059: [ZJOI2007]矩阵游戏 匈牙利算法
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2351 Solved: 1156 题目连接 http:// ...
随机推荐
- 用bind方法保持this上下文
什么是this对象 先来说说什么是this对象吧.每一个函数在调用的时候都会自己主动获取两个特殊变量:this和arguments对象. this值详细是指哪个对象是和该函数的运行环境相关的.假设是作 ...
- SpringBoot整合mybatis-plus入门
pom.xml中加入如下依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>myba ...
- 量子猴排(Quantum Bogo sort)
排序原理 原理很简单,如果数组不是有序的,就洗一次牌,直至数组有序为止 时间复杂度 最佳情况O(n),平均情况O(n×n!) 代码如下: import java.util.Random; public ...
- 用数组指针遍历数组,FOR/FOREACH遍历数组
1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...
- 连接数据库 JDBC、DBCP、JNDI
一.JDBC package com.direct.util; import java.sql.Connection; import java.sql.DriverManager; import ja ...
- js-权威指南学习笔记15.3
1.如果要明确地选取一个表单元素,可以索引表单对象的elements属性:document.forms.address.elements.street--一个name为address的form下的na ...
- angular2.0---服务Service,使用服务进行数据处理
1.创建服务 打开命令窗口,cd到项目目录下,输入 ng g service myData1 回车 创建服务,如下图所示: 这样就成功创建了服务,此时,可以在项目的app文件夹下生成了两个serv ...
- Html5不可见标签,及标签属性(元素对象属性) a href target name id 相对路径
标签属性分类(元素对象属性) 不可见标签与可见标签: <head></head> 属于不可见标签, 里面的内容一般用于css还有全局的一些变量,声明等. 而且如果 ...
- GADL针对矢量数据格式转换的实用工具 —— ogr2ogr
最初,因为可爱的学弟请教如何将ESRI Shapefile文件导入Google Earth接触到了Ogr2Ogr.粗略了解之后发现,这小东西功能强大. 谷歌地球支持矢量数据的展示,前提是数据符合KML ...
- hornor8改user模式为debug模式
在学习Android软件安全的过程中,经常要用到Android的动态调试.但是呢,一般的Android应用在发布的时候都是发布版的不能直接被调试,为了能使Android应用能够支持调试就需要对Andr ...