[Loj] #6000. 「网络流 24 题」搭配飞行员

来源:互联网 发布:软件架构设计 autosar 编辑:程序博客网 时间:2024/05/16 11:34

二分图最大匹配值,直接裸上匈牙利。

#include <cstdio>#include <cstring>using namespace std;const int N=105;int n,m;int a,b;int ans;bool vis[N];int fr[N];int ga[N][N];bool find(int x){register int i;for (i=m+1;i<=n;i++){if (ga[x][i]&&!vis[i]){vis[i]=1;if (!fr[i]||find(fr[i])) {fr[i]=x;return 1;}}}return 0;}int main(){register int i;scanf("%d %d ",&n,&m);while (~scanf("%d %d",&a,&b)) ga[a][b]=1;for (i=1;i<=m;i++){memset(vis,0,sizeof(vis));if (find(i)) ans++;}printf("%d",ans);}


阅读全文
0 0
原创粉丝点击