https://www.lydsy.com/JudgeOnline/problem.php?id=1059

裸的二分图匹配,行列匹配即可

  1. /**************************************************************
  2. Problem: 1059
  3. User: walfy
  4. Language: C++
  5. Result: Accepted
  6. Time:336 ms
  7. Memory:1460 kb
  8. ****************************************************************/
  9.  
  10. //#pragma comment(linker, "/stack:200000000")
  11. //#pragma GCC optimize("Ofast,no-stack-protector")
  12. //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
  13. //#pragma GCC optimize("unroll-loops")
  14. #include<bits/stdc++.h>
  15. #define fi first
  16. #define se second
  17. #define mp make_pair
  18. #define pb push_back
  19. #define pi acos(-1.0)
  20. #define ll long long
  21. #define vi vector<int>
  22. #define mod 1000000009
  23. #define C 0.5772156649
  24. #define ls l,m,rt<<1
  25. #define rs m+1,r,rt<<1|1
  26. #define pil pair<int,ll>
  27. #define pli pair<ll,int>
  28. #define pii pair<int,int>
  29. #define cd complex<double>
  30. #define ull unsigned long long
  31. #define base 1000000000000000000
  32. #define fio ios::sync_with_stdio(false);cin.tie(0)
  33.  
  34. using namespace std;
  35.  
  36. const double g=10.0,eps=1e-;
  37. const int N=+,maxn=+,inf=0x3f3f3f3f,INF=0x3f3f3f3f3f3f3f3f;
  38.  
  39. int n,a[N][N];
  40. bool used[N];
  41. int color[N];
  42. bool match(int x)
  43. {
  44. for(int i=;i<=n;i++)
  45. {
  46. if(!used[i]&&a[x][i])
  47. {
  48. used[i]=;
  49. if(color[i]==-||match(color[i]))
  50. {
  51. color[i]=x;
  52. return ;
  53. }
  54. }
  55. }
  56. return ;
  57. }
  58. int main()
  59. {
  60. int t;
  61. scanf("%d",&t);
  62. while(t--)
  63. {
  64. scanf("%d",&n);
  65. for(int i=;i<=n;i++)
  66. for(int j=;j<=n;j++)
  67. scanf("%d",&a[i][j]);
  68. memset(color,-,sizeof color);
  69. bool ok=;
  70. for(int i=;i<=n;i++)
  71. {
  72. memset(used,,sizeof used);
  73. if(!match(i)){ok=;break;}
  74. }
  75. if(ok)puts("Yes");
  76. else puts("No");
  77. }
  78. return ;
  79. }
  80. /***********************
  81.  
  82. ***********************/

1059: [ZJOI2007]矩阵游戏 二分图匹配的更多相关文章

  1. bzoj 1059: [ZJOI2007]矩阵游戏 二分图匹配

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1891  Solved: 919[Submit][Statu ...

  2. BZOJ [ZJOI2007]矩阵游戏(二分图匹配)

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6390  Solved: 3133[Submit][Stat ...

  3. BZOJ 1059 [ZJOI2007]矩阵游戏 (二分图最大匹配)

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 5281  Solved: 2530[Submit][Stat ...

  4. [bzoj1059] [ZJOI2007] 矩阵游戏 (二分图匹配)

    小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种操作:行交换操作:选 ...

  5. BZOJ1059 [ZJOI2007]矩阵游戏 二分图匹配 匈牙利算法

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1059 题意概括 有一个n*n(n<=200)的01矩阵,问你是否可以通过交换整行和整列使得左 ...

  6. bzoj 1059: [ZJOI2007]矩阵游戏 [二分图][二分图最大匹配]

    Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行 ...

  7. P1129 [ZJOI2007]矩阵游戏 二分图匹配

    思路:脑子+二分图匹配 提交:1次(课上讲过) 题解: 发现:如果符合题意,那么行和列一定是一一匹配的(必要条件),所以最大匹配必须是$n$. 同时我们发现,一定可以通过交换行列的方式,将(看起来)有 ...

  8. [ZJOI2007] 矩阵游戏 - 二分图匹配

    题意:问一个\(0-1\)方阵是不是非奇异的 其实我真的很想求行列式 #include <bits/stdc++.h> using namespace std; #define N 505 ...

  9. bzoj 1059 [ZJOI2007]矩阵游戏(完美匹配)

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2993  Solved: 1451[Submit][Stat ...

随机推荐

  1. POJ1265:Area(多边形面积公式+pick公式) 好题

    题目:http://poj.org/problem?id=1265 题意 : 给你一个点阵,上边有很多点连成的多边形,让你求多边形内部的点和边界上的点以及多边形的面积,要注意他每次给出的点并不是点的横 ...

  2. 通过交换a,b 中的元素,使[序列a 元素的和]与[序列b 元素的和]之间的差最小

    题目描述: 有两个序列a,b,大小都为n,序列元素的值任意整数,无序:要求:通过交换a,b 中的元素,使[序列a 元素的和]与[序列b 元素的和]之间的差最小.例如:var a=[100,99,98, ...

  3. 漫谈DOM 事件流的三个阶段

    一丶 流 什么是流? 比如 react 中的单项数据流,Node.js 中的流,或者本文中的 DOM 事件流,都是流的具体体现.专业地讲,流是程序输入或输出的一个连续的字节序列:通俗地讲,流是有方向的 ...

  4. jQuery Ajax使用总结

    一.概述 jQuery对Ajax操作进行了封装,在jQuery中$.ajax()是属于最底层的方法,第2层是load().$.get()和$.post()方法,第三层是$.getScript()和$. ...

  5. vmware12 安装linux centos6

          内核选 2.6                                                                 中文安装选 基本系统 -> 基本, 兼 ...

  6. SQL注入漏洞有哪些

    SQL注入攻击是当今最危险.最普遍的基于Web的攻击之一.所谓注入攻击,是攻击者把SQL命令插入到Web表单的输入域页面请求的查询字符串中,如果要对一个网站进行SQL注入攻击,首先需要找到存在SQL注 ...

  7. HTTP服务器(3)

    功能完整的HTTP服务器 导语 这个一个功能完备的HTTP服务器.它可以提供一个完整的文档输,包括图像,applet,HTML文件,文本文件.它与SingleFileHttpServer非常相似,只不 ...

  8. js 空数组 空对象判断

    js 空数组是true还是false   1 2 var arr = new Array(); // 或 var arr = []; 我们知道,初始化后,即使数组arr中没有元素,也是一个object ...

  9. CentOS下yum安装FFmpeg

    一.yum安装FFmpeg 1.    最偷懒的方式就是yum安装了,自动解决依赖.不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置 ...

  10. spark client + yarn计算

    前提:完成hadoop + kerberos安全环境搭建. 安装配置spark client: 1. wget https://d3kbcqa49mib13.cloudfront.net/spark- ...