• bzoj 1059


    思路:第一行他可以指向含有1的那些列,每一行如此,那么每一行指向一列,1-n行指向1-n列,列也是如此。二分图的匹配

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 const int N=202;
     4 
     5 int a[N][N],c[N][N];
     6 int vis[N],b[N];
     7 int n;
     8 
     9 bool Find(int x){
    10   for(int i=1;i<=n;i++){
    11        if(a[x][i]&&!vis[i]){
    12            vis[i]=1;
    13             if(b[i]==0||Find(b[i])){
    14                b[i]=x;
    15                return 1;
    16             }
    17        }
    18     }
    19     return 0;
    20 }
    21 int main(){
    22     int t;
    23     scanf("%d",&t);
    24     while(t--){
    25         scanf("%d",&n);
    26         for(int i=1;i<=n;i++){
    27             for(int j=1;j<=n;j++){
    28                 scanf("%d",&a[i][j]);
    29                 c[i][j]=a[i][j];
    30             }
    31         }
    32         int all=0;
    33         for(int i=1;i<=n;i++){
    34             memset(vis,0,sizeof(vis));
    35             if(Find(i)) all++;
    36         }
    37         if(all==n) {
    38             cout<<"Yes"<<endl;
    39         }
    40         else {
    41             all =0;
    42             for(int i=1;i<=n;i++){
    43                 for(int j=1;j<=n;j++){
    44                      a[i][j]=c[j][i];
    45                     // cout<<a[i][j]<<" ";
    46                 }
    47               //  cout<<endl;
    48             }
    49             memset(b,0,sizeof(b));
    50             for(int i=1;i<=n;i++) {
    51                 memset(vis,0,sizeof(vis));
    52                 if(Find(i)) all++;
    53             }
    54             if(all==n) {
    55                 cout<<"Yes"<<endl;
    56             }
    57             else cout<<"No"<<endl;
    58         }
    59     }
    60 }
  • 相关阅读:
    composer国内镜像配置
    composer.json和composer.lock作用
    工厂模式(描述语言PHP)
    PHP后期静态绑定
    js事件冒泡和事件捕获
    去帮助别人,并接受别人的帮助
    平静,问题本身也是问题
    总是被欲望折磨的我
    习惯产生力量
    秦岭野生动物园
  • 原文地址:https://www.cnblogs.com/hhxj/p/7136477.html
Copyright © 2020-2023  润新知