zoukankan      html  css  js  c++  java
  • HDU1150 Machine Schedule

    匈牙利算法

    目前为止还是半懂不懂的状态



     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 int n,m,k;
     6 int mp[200][200];//邻接矩阵 
     7 int vis[200];//B集中访问标记 
     8 int link1[200];//B集中点i匹配的A中元素 
     9 int pd(int a){
    10     int i,j;
    11     for(i=0;i<m;i++){
    12         if(!vis[i] && mp[a][i]){
    13             vis[i]=1;
    14             if(link1[i]==-1 || pd(link1[i]))//若B集中i未匹配,或者其匹配的A中元素有其他匹配 
    15             {
    16                 link1[i]=a;
    17                 return 1;
    18             }
    19         }
    20     }
    21     return 0;
    22 }
    23 int main(){
    24     while(scanf("%d",&n) &&n!=0){
    25         scanf("%d%d",&m,&k);
    26         int i,j;
    27         int u,v;
    28         memset(mp,0,sizeof(mp));
    29         for(i=1;i<=k;i++){
    30             scanf("%d%d%d",&j,&u,&v);//第一个数据是序号,并没有用 
    31             if(u>0&&v>0)mp[u][v]=1;//如果出点或者入点为0,机器初始状态即可解决 
    32         }
    33         memset(link1,-1,sizeof(link1));
    34         int ans=0;
    35         for(i=0;i<n;i++){
    36             memset(vis,0,sizeof(vis));
    37             if(pd(i))ans++; 
    38         }
    39         printf("%d
    ",ans);
    40     }
    41     return 0;
    42 }


    本文为博主原创文章,转载请注明出处。
  • 相关阅读:
    node eventLoop
    apply call bind
    crm项目-业务实现
    crm项目-stark组件分析
    OA项目-需求分析
    OA项目-表结构
    OA项目-xadmin使用
    路飞学城项目-表结构
    路飞学城项目-支付相关-支付宝第三方支付
    路飞学城项目-支付相关-支付接口
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/5550598.html
Copyright © 2011-2022 走看看