HDU - 2063: 过山车
发布日期:2021-06-30 23:40:45 浏览次数:2 分类:技术文章

本文共 913 字,大约阅读时间需要 3 分钟。

题目链接:

 

题目大意:略。

 

解题思路:二分图最大匹配 + 匈牙利算法。

 

AC 代码

#include
#include
#define mem(a,b) memset(a,b,sizeof a);#define INF 0x3f3f3f3fusing namespace std;typedef long long ll;const int maxn=520;int k,un,vn;int vis[maxn], linker[maxn], g[maxn][maxn];void init(){ mem(linker,-1); mem(g,0);}int dfs(int u){ for(int i=1;i<=vn;i++) { if(!vis[i]&&g[u][i]) { vis[i]=1; if(linker[i]==-1 || dfs(linker[i])) { linker[i]=u; return 1; } } } return 0;}int main(){ while(~scanf("%d",&k) && k) { scanf("%d%d",&un,&vn); init(); int u,v; while(k--) { scanf("%d%d",&u,&v); g[u][v]=1; } int rs=0; for(int i=1;i<=un;i++) { mem(vis,0); if(dfs(i)) rs++; } printf("%d\n",rs); } return 0;}

 

转载地址:https://lux-sun.blog.csdn.net/article/details/81110004 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:HDU - 2018杭电ACM集训队单人排位赛 - 3 - Problem B. Bullet
下一篇:HDU - 2018杭电ACM集训队单人排位赛 - 4 - Problem J. number sequence

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月09日 07时52分34秒