洛谷P1129 ZJOI2007矩阵游戏
来源:互联网 发布:怎么找淘宝刷手的工作 编辑:程序博客网 时间:2024/06/05 20:40
碰到这种题嘛,肯定是要先去观察,看怎样的矩阵是不符合条件的
有一个性质,无论行,列如何变化 某一行,某一列的相对位置永远不会发生改变
所以存在该矩阵的充分条件为:存在n个点,其行列都不相等
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#define For(i,j,k) for(int i=j;i<=k;i++)using namespace std;const int N=200+5;const int M=N*N;int h[M],cnt;struct node{int next;int to;}a[M];void addvage(int x,int y){cnt++;a[cnt].next=h[x];a[cnt].to=y;h[x]=cnt;}inline int read(){char c=getchar();while(c<'0'||c>'9')c=getchar();int x=c-'0';c=getchar();while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}return x;}int n,T,ans,vis[N],w[N];int xiong_yali(int x){for(int i=h[x];i;i=a[i].next){int y=a[i].to;if(vis[y])continue;vis[y]=1;if(w[y]==-1||xiong_yali(w[y])){w[y]=x;return 1;}}return 0;}int main(){ T=read();while(T--){ ans=0; cnt=0; memset(h,0,sizeof(h)); memset(a,0,sizeof(a)); n=read(); For(i,1,n)For(j,1,n){int temp=read();if(temp)addvage(i,j);}For(i,1,n)w[i]=-1; For(i,1,n){memset(vis,0,sizeof(vis));ans+=xiong_yali(i);}if(ans==n)puts("Yes");else puts("No"); }return 0;}
阅读全文
0 0
- 洛谷P1129 ZJOI2007矩阵游戏
- 洛谷P1129 [ZJOI2007]矩阵游戏
- 二分图——洛谷P1129 [ZJOI2007]矩阵游戏
- 【洛谷1129】 [ZJOI2007]矩阵游戏
- [BZOJ1059][ZJOI2007]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏
- BZOJ1059【ZJOI2007】矩阵游戏
- BZOJ1059: [ZJOI2007]矩阵游戏
- 【ZJOI2007】【BZOJ1059】矩阵游戏
- BZOJ1059: [ZJOI2007]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏
- bzoj1059[ZJOI2007]矩阵游戏
- 1059: [ZJOI2007]矩阵游戏
- 【bzoj1059】[ZJOI2007]矩阵游戏
- bzoj1059[ZJOI2007] 矩阵游戏
- bzoj1059: [ZJOI2007]矩阵游戏
- bzoj1059: [ZJOI2007]矩阵游戏
- bzoj1059[ZJOI2007]矩阵游戏
- tomcat请求处理分析(六)servlet的处理过程
- codeforces 838D D.Airplane Arrangements 思维构造+排列组合
- samba
- 工作随笔
- 三分钟了解云计算
- 洛谷P1129 ZJOI2007矩阵游戏
- 从0开始写一个基于注解的轻量级分布式RPC框架(2)框架整体结构
- 记录.python27 wxpython的安装过程。
- Android实例:多线程文件下载+在线音乐播放+清除下载文件
- EL表达式
- <8/18>集训日记
- 使用Vitural Box安装Ubuntu server版本报错‘无法安装busybox-initramfs’
- 拼积木问题
- 【C语言】【unix c】静态变量和自动变量的区别