码迷,mamicode.com
首页 > 其他好文 > 详细

二分图

时间:2020-03-10 19:47:59      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:size   fine   nbsp   style   div   ace   pen   pat   技术   

过山车

 HDU - 2063 

分析匈牙利算法,其实就是找得到就匹配,找不到这个点换一下看看能不能匹配;

技术图片
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
const int N=6e2+5;
vector<int>e[N];
int match[N];
bool vis[N];
bool findpath(int u){
    for(int i=0;i<e[u].size();i++){
    int v=e[u][i];
    if(!vis[v]){
    vis[v]=1;
    if(!match[v]||findpath(match[v])){
    match[v]=u;
    return 1;
    }
    }
    }
    return 0;
}   
int main(){
    int k,m,n;
    while(~scanf("%d",&k),k){
    scanf("%d %d",&m,&n);
    for(int i=0;i<=N;i++)match[i]=0,e[i].clear();
    // girl.clear();
    for(int i=1,u,v;i<=k;i++){
    scanf("%d %d",&u,&v);e[u].pb(v);
    // girl.pb(u);
    }
    int ans=0;
    for(int i=1;i<=m;i++){
    memset(vis,0,sizeof vis);
    if(findpath(i))ans++;        
    }
    // cout<<"test"<<endl;
    printf("%d\n",ans);

    }
    // system("pause");
    return 0;
}
View Code

 

二分图

标签:size   fine   nbsp   style   div   ace   pen   pat   技术   

原文地址:https://www.cnblogs.com/littlerita/p/12457992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!