bzoj 1059: [ZJOI2007]矩阵游戏(二分匹配)
1059: [ZJOI2007]矩阵游戏
Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 4762 Solved: 2269
[Submit][Status][Discuss]
Description
Input
Output
输出文件应包含T行。对于每一组数据,如果该关卡有解,输出一行Yes;否则输出一行No。
Sample Input
Sample Output
感觉是个智力题=.=
二分图匹配
在同一行的两个棋子无论怎么操作都永远在同一行
在同一列的两个棋子无论怎么操作也永远在同一列
所以这题就是找是否有n个棋子任意两个都不同行且不同列
建个二分图,所有的行作为左边n个点,所有列作为右边n个点,如果格子(i, j)上有棋子,
那么左边的第i个点和右边的第j个点连条边
最后判断是否能够完美匹配即可
#include<stdio.h>
#include<string.h>
int n, link[205], vis[205], road[205][205];
int Sech(int x)
{int i;for(i=1;i<=n;i++){if(vis[i]==0 && road[x][i]){vis[i] = 1;if(link[i]==0 || Sech(link[i])){link[i] = x;return 1;}}}return 0;
}
int main(void)
{int T, i, j, ans;scanf("%d", &T);while(T--){scanf("%d", &n);for(i=1;i<=n;i++){for(j=1;j<=n;j++)scanf("%d", &road[i][j]);}ans = 0;memset(link, 0, sizeof(link));for(i=1;i<=n;i++){memset(vis, 0, sizeof(vis));if(Sech(i))ans++;}if(ans==n)printf("Yes\n");elseprintf("No\n");}return 0;
}
bzoj 1059: [ZJOI2007]矩阵游戏(二分匹配)相关推荐
- [BZOJ]1059: [ZJOI2007]矩阵游戏
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行 ...
- BZOJ 1059 [ZJOI2007]矩阵游戏
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1059 题意:给定一个n×nn \times n的01矩阵,可以任意交换两行或两列的数字,问是否 ...
- BZOJ 1059: [ZJOI2007]矩阵游戏
传送门 解题思路 二分图匹配,出现1后让这一行和这一列连边,然后跑一遍匈牙利,判断最后的ans是否等于n.刚开始想复杂了,这样连了后还拆点反着连.. 代码 #include<iostream&g ...
- 【BZOJ - 1059】矩阵游戏(二分图匹配,建图,最小边覆盖)
题干: 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种操作:行交换 ...
- 1059: [ZJOI2007]矩阵游戏 (匈牙利)
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两 ...
- 黑暗爆炸 #1059. [ZJOI2007]矩阵游戏
传送门 思路:这道题能用二分图我是完全没有想到的,后来去补了下最大二分图的最大匹配,然后看题解才勉强推了这样的思路 一行的每个元素看成二分图的一边,一列的元素看成二分图的另一边. 如果某个点是1那么就 ...
- bzoj1059: [ZJOI2007]矩阵游戏
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4748 Solved: 2264 [Submit][St ...
- 洛谷 P1129 [ZJOI2007]矩阵游戏 解题报告
P1129 [ZJOI2007]矩阵游戏 题目描述 小\(Q\)是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个\(N*N\)黑白方阵进行(如同国际象棋一般 ...
- 洛谷P1129 [ZJOI2007] 矩阵游戏 题解
洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...
最新文章
- 对分组交换(packet switching)高效迅速灵活可靠四个优点的理解
- 征信报告上的逾期记录应该怎么清除?
- 这是不是帮女朋友拍照时的你?哈哈哈哈
- 初级程序员为避免淘汰该怎么办?
- 计算机网络-网络应用
- 安装使用sublime 对比工具sublimerge
- 安卓逆向系列教程(二)APK 和 DEX
- matplotlib.pyplot.bar()条形图
- AndroidStudio安卓原生开发_activity关闭的时候把数据传递给上一个activity---Android原生开发工作笔记93
- 如何成为架构师?7个关键的思考、习惯和经验
- python 树状图代码_Python 无限级分类树状结构生成算法 「实用代码」
- mongodb导入bson文件_分布式文档存储数据库之MongoDB备份与恢复
- 站在巨人的肩膀上学习Android开发
- 【学习进阶】Java 进阶学习资料《Java 编程思想》第5版 等
- java面试题1 牛客:A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:
- 华为eNSP-动态路由实验
- oracle瘦身,数据库瘦身
- 华为:围绕价值创造展开人力资源管理
- windows 服务器cpu使占用高的原因分析与解决办法
- SourceTeee 设置拉取时使用rebase
热门文章
- python零基础学习书-零基础学Python,不容错过的入门书籍
- 用python画玫瑰花-使用Python画一朵玫瑰花
- python如何输出整数逆序_python字符串类型及操作
- 【深度优先搜索】牛客网:剪绳子
- 【java笔记】常用接口(2):Consumer接口
- 最简单的基于FFmpeg的移动端例子:IOS 视频解码器
- 认证服务器的搭建_这个认证正式发布!
- 程序员怎样学习python_一个开发十年的程序员论:学习Python最正确的步骤(0基础必备)...
- 安装Docker Desktop报错WSL 2 installation is incomplete
- Missing artifact com.sun tools.jar 1.5.0 system 解决方法