BZOJ P1059 [ZJOI2007]矩阵游戏——solution
1059: [ZJOI2007]矩阵游戏
Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 4604 Solved: 2211
[Submit][Status][Discuss]
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
Yes
【数据规模】
对于100%的数据,N ≤ 200
通过对行列的移动使黑点移动到正对角线上,
#include<cstdio>
#include<cstring>
#define INF 2147483000
using namespace std;
int n,m,S,T;
struct ss{
int next,to,w,cp;
}x[];
int first[],num;
int dep[];
int que[];
void bui_(int ,int ,int );
void build(int ,int ,int );
int bfs();
int dfs(int ,int );
int main()
{
int TT,i,j,k,ans,add;
scanf("%d",&TT);
while(TT--){
memset(first,,sizeof(first));num=;ans=;
scanf("%d",&n);
S=,T=(n<<)+;
for(i=;i<=n;i++){
bui_(S,i,);bui_(n+i,T,);
for(j=;j<=n;j++){
scanf("%d",&k);
if(k)
bui_(i,n+j,);
}
}
while(bfs())
while(add=dfs(S,INF))
ans+=add;
if(ans==n)printf("Yes\n");
else printf("No\n");
}
return ;
}
void bui_(int f,int t,int d){
build(f,t,d);x[num].cp=num+;
build(t,f,);x[num].cp=num-;
}
void build(int f,int t,int d){
x[++num].next=first[f];
x[num].to=t;
x[num].w=d;
first[f]=num;
}
int bfs(){
memset(dep,,sizeof(dep));
int h=,t=,j;
que[t]=S;
while(h<t){
++h;
for(j=first[que[h]];j;j=x[j].next)
if(x[j].w&&x[j].to!=S&&!dep[x[j].to]){
dep[x[j].to]=dep[que[h]]+;
que[++t]=x[j].to;
}
}
if(dep[T])return ;
return ;
}
int dfs(int now,int min){
int j,re=;
if(now==T)
return min;
for(j=first[now];j;j=x[j].next)
{
if(x[j].w&&dep[x[j].to]==dep[now]+){
re=dfs(x[j].to,min<x[j].w?min:x[j].w);
if(re){
x[j].w-=re;
x[x[j].cp].w+=re;
return re;
}
dep[x[j].to]=;
}
}
return re;
}
BZOJ P1059 [ZJOI2007]矩阵游戏——solution的更多相关文章
- 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就是有解的, 否则无解 ------------------------------------------- ...
- 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: 2351 Solved: 1156 题目连接 http:// ...
- bzoj 1059: [ZJOI2007]矩阵游戏 [二分图][二分图最大匹配]
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行 ...
- BZOJ 1059 [ZJOI2007]矩阵游戏:二分图匹配
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1059 题意: 给你一个n*n的01矩阵. 你可以任意次地交换某两行或某两列. 问你是否可以 ...
- bzoj 1059: [ZJOI2007]矩阵游戏【匈牙利算法】
注意到怎么换都行,但是如果把某个黑方块用在对角线上,它原来所在的行列的的黑方块就都不能用 所以要选出n组不重的行列组合,这里用匈牙利算法做二分图匹配即可(用了时间戳优化) #include<io ...
随机推荐
- 钉钉机器人集成Jenkins推送消息模板自定义发送报告
一.由于公司同样也使用了钉钉.那么在做Jenkins集成自动化部署的时候,也是可以集成钉钉的. 那种Jenkins下载钉钉插件集成,简单设置就可以完成了.我们今天要做的是,定制化的发送消息. 钉钉推送 ...
- [原创] Trie树 php 实现敏感词过滤
目录 背景 简介 存储结构 PHP 其他语言 字符串分割 示例代码 php 优化 缓存字典树 常驻服务 参考文章 背景 项目中需要过滤用户发送的聊天文本, 由于敏感词有将近2W条, 如果用 str_r ...
- Java 语言结构【转】
Java 语言结构 基础:包(Package).类(Class)和对象(Object) 了解 Java 的包(Package).类(Class)和对象(Object)这些基础术语是非常重要的,这部分内 ...
- 微信 oauth 登录 ,回调两次,一个坑,记录一下。
在做微信某个功能的时候,大致需求是:静默授权,得到openId ,然后拿着openId调用接口,判断是否关注.如果是关注的,则发放礼券.每个我网站的会员只会发放一次礼券.如果第二次则会提示已领取过礼券 ...
- OpenERP how to set the tree view limit
return { 'name':u'库存报表', 'view_type':'form', 'view_mode':'tree,form', 'res_model':'rainsoft.account. ...
- WCF系列教程之WCF服务宿主与WCF服务部署
本文参考自http://www.cnblogs.com/wangweimutou/p/4377062.html,纯属读书笔记,加深记忆. 一.简介 任何一个程序的运行都需要依赖一个确定的进程中,WCF ...
- jQuery多库共存问题解决方法
一.问题概述: 1.随着jQuery的流行,采用jQuery和$符为命名空间的js库越来越多,当然jQuery的$符也是参照的Prototype库的,所以当多个库同时以$符或者jQuery为命名空间时 ...
- LeetCode-2. Add Two Numbers(链表实现数字相加)
1.题目描述 You are given two non-empty linked lists representing two non-negative integers. The digits a ...
- linux 和 windows 安装composer
在 Linux 和 Mac OS X 中可以运行如下命令: curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/ ...
- 用table布局和div布局的区别
table布局的渲染是将整个table全部渲染出来,如果网路不给力的情况下,整个table会卡死在页面div布局的话,页面渲染,会一个一个的div渲染,网页出现会一个一个出来,不管网速怎样,不会全局卡 ...