[ZJOI2007] 小Q的矩阵游戏 (模板—Dinic)
2024-09-03 13:42:33
B. 矩阵游戏
题目描述
小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:
行交换操作:选择矩阵的任意两行,交换这两行(即交换对应格子的颜色)
列交换操作:选择矩阵的任意行列,交换这两列(即交换对应格子的颜色)
游戏的目标,即通过若干次操作,使得方阵的主对角线(左上角到右下角的连线)上的格子均为黑色。对于某些关卡,小Q百思不得其解,以致他开始怀疑这些关卡是不是根本就是无解的!!于是小Q决定写一个程序来判断这些关卡是否有解。
输入格式
第一行包含一个整数T,表示数据的组数。
接下来包含T组数据,每组数据第一行为一个整数N,表示方阵的大小;
接下来N行为一个N*N的01矩阵(0表示白色,1表示黑色)。
输出格式
输出文件应包含T行(T<=20)。对于每一组数据,如果该关卡有解,输出一行Yes;否则输出一行No。
样例
样例输入
2
2
0 0
0 1
3
0 0 1
0 1 0
1 0 0
样例输出
No
Yes
数据范围与提示
数据规模
对于100%的数据,N ≤ 200
二分图板子题啊,将每个黑子的行和列(+200)连起来,如果最大匹配数=n,则有解,否则无解。
Dinic求最大匹配要比匈牙利算法复杂度第一个根号。
最新文章
- php实现设计模式之 单例模式
- linux系统下静态IP的设置
- HBase 压缩算法设置及修改
- php的具体配置学习笔记
- PO BO VO DTO POJO DAO 概念及其作用
- codis3.1集群搭建
- FTP远程命令集
- HDU5697 刷题计划 dp+最小乘积生成树
- Linux下chkconfig命令详解(转)
- Android应用开发基础篇(2)-----Notification(状态栏通知)
- 自制刻度尺-前端简易实现";腾讯信用";界面
- Ceph luminous 安装配置
- 前端笔记之JavaScript面向对象(三)初识ES6&;underscore.js&;EChart.js&;设计模式&;贪吃蛇开发
- ElasticSearch CPU和内存占用高的优化记录
- UVALive 8513 lovers 2017 西安区域赛 B 贪心+multiset
- OpenCV图像分割1
- Python day3_string的常见方法2_笔记
- 54 Django 模型层(1) 单表查询
- HttpContext.Current and Web Api
- ElasticSearch(二):windows下ElasticSearch6.3.2插件Head的安装
热门文章
- Git push 出错 [The remote end hung up unexpectedly] - 简书
- Java IO:如何得到Jar包中内嵌Jar包的时间戳
- web前端学习(四)JavaScript学习笔记部分(1)-- JavaScript基础教程
- jquery 设置 html标签响应式布局
- TypeScript类型检查机制
- python3.7 安装gensim使用word2Vec库
- layui的select联动 - CSDN博客
- LeetCode141 Linked List Cycle. LeetCode142 Linked List Cycle II
- Thread class vs Runnnable interface(转)
- 2019-9-2-dotnet-命名管道名字长度限制