zoukankan      html  css  js  c++  java
  • POJ 1469

     1 #include<iostream>
     2 #include<stdio.h>
     3 #include <string.h>
     4 #include <vector>
     5 #define MAXN 300
     6 #define _clr(x) memset(x,0xff,sizeof(int)*MAXN)
     7 using namespace std;
     8 
     9 int hungary(int m,int n,int mat[][MAXN],int* match1,int* match2);
    10 int _m[101][300];
    11 int match1[MAXN];
    12 int match2[MAXN];
    13 int main()
    14 {
    15     //freopen("acm.acm","r",stdin);
    16     int M;
    17     int N;
    18     int n;
    19     int i;
    20     int j;
    21     int ans;
    22     int s;
    23     int tem;
    24     int num;
    25     scanf("%d",&num);
    26     while(num --)
    27     {
    28     scanf("%d%d",&M,&N);
    29     memset(_m,0,sizeof(_m));
    30     for(i = 0; i < M; ++ i)
    31     {
    32         scanf("%d",&s);
    33         for(j = 0; j < s; ++ j)
    34         {
    35                 scanf("%d",&n);
    36                 _m[i][n-1] = 1;
    37         }
    38     }
    39         ans = hungary(M,N,_m,match1,match2);
    40         if(ans == M)
    41             printf("YES
    ");
    42         else
    43             printf("NO
    ");
    44     }
    45 }
    46 
    47 
    48 int hungary(int m,int n,int mat[][MAXN],int * match1,int* match2){
    49     int s[MAXN],t[MAXN],p,q,ret=0,i,j,k;
    50     for (_clr(match1),_clr(match2),i=0;i<m;ret+=(match1[i++]>=0))
    51         for (_clr(t),s[p=q=0]=i;p<=q&&match1[i]<0;p++)
    52             for (k=s[p],j=0;j<n&&match1[i]<0;j++)
    53                 if (mat[k][j]&&t[j]<0){
    54                     s[++q]=match2[j],t[j]=k;
    55                     if (s[q]<0)
    56                         for (p=j;p>=0;j=p)
    57                             match2[j]=k=t[j],p=match1[k],match1[k]=j;
    58                 }
    59     return ret;
    60 }

    关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

    技术网站地址: vmfor.com

  • 相关阅读:
    BZOJ1841 : 蚂蚁搬家
    BZOJ3068 : 小白树
    BZOJ4449 : [Neerc2015]Distance on Triangulation
    BZOJ3692 : 愚蠢的算法
    BZOJ3145 : [Feyat cup 1.5]Str
    BZOJ4684 : Company Organization
    BZOJ2934 : [Poi1999]祭坛问题
    ML(2)——感知器
    ML(附录1)——梯度下降
    微服务架构
  • 原文地址:https://www.cnblogs.com/gavinsp/p/4563402.html
Copyright © 2011-2022 走看看