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

[模板]二分图匹配

时间:2018-02-18 10:29:17      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:close   scan   log   lap   dfs   main   ++   cstring   oid   

https://www.luogu.org/problemnew/show/P3386#sub

技术分享图片
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 
 6 int match[1005], lt[1005][1005], n, m, e, vis[1005];
 7 
 8 inline bool dfs(int u){
 9     for(int i = 1; i <= m; ++i){
10         if(!vis[i] && lt[u][i]){
11             vis[i] = 1;
12             if (!match[i] || dfs(match[i])){
13                 match[i] = u;
14                 return true;
15             }
16         }
17     }
18     return false;
19 }
20 
21 int main(void){
22     int ans = 0;
23     scanf("%d%d%d", &n, &m, &e);
24     for(int u, v, i = 1; i <= e; ++i){
25         scanf("%d%d", &u, &v); if (u <= n && v <= m){lt[u][v] = 1;}
26     }
27     for(int i = 1; i <= n; ++i){
28         memset(vis, 0, sizeof(vis));
29         if (dfs(i)) ans++;
30     }
31     printf("%d", ans);
32     
33     return 0;
34 }
View Code

 

[模板]二分图匹配

标签:close   scan   log   lap   dfs   main   ++   cstring   oid   

原文地址:https://www.cnblogs.com/Ycrpro/p/8452483.html

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