NYoj 239 :月老的难题(二分图最大匹配)
月老的难题
- 描述
-
月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘。
现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭。
现在已知哪些男孩与哪些女孩如果结婚的话,可以结成幸福的家庭,月老准备促成尽可能多的幸福家庭,请你帮他找出最多可能促成的幸福家庭数量吧。
假设男孩们分别编号为1~n,女孩们也分别编号为1~n。
- 输入
-
第一行是一个整数T,表示测试数据的组数(1<=T<=400)
每组测试数据的第一行有两个整数n,K,其中男孩的人数与女孩的人数都是n。(n<=500,K<=10 000)
随后的K行,每行有两个整数i,j表示第i个男孩与第j个女孩有可能结成幸福的家庭。(1<=i,j<=n) - 输出
- 对每组测试数据,输出最多可能促成的幸福家庭数量
- 样例输入
-
1 3 4 1 1 1 3 2 2 3 2
- 样例输出
-
2
-
tips:二分图匹配,注意使用邻接表存储,否则超时
-
#include<iostream> #include<cstring> #include<vector>using namespace std; vector<int>g[1001]; int match[1001],book[1001]; int n,m,ans;bool dfs(int x) {for(int i=0;i<g[x].size();i++){if(!book[g[x][i]])//还未曾尝试过 {book[g[x][i]]=1;if(!match[g[x][i]]||dfs(match[g[x][i]]))//如果还未匹配或者可以找到新的增广路 {match[g[x][i]]=x;return true;}}}return false; } int main() {int k;cin>>k;while(k--){ans=0;for(int i=1;i<=501;i++)g[i].clear();memset(match,0,sizeof(match)); cin>>n>>m;while(m--){int x,y;cin>>x>>y;g[x].push_back(y);}for(int i=1;i<=n;i++){memset(book,0,sizeof(book));if(dfs(i))ans++;}cout<<ans<<endl; } }
NYoj 239 :月老的难题(二分图最大匹配)相关推荐
- NYOJ - 239 - 月老的难题 ( 二分图最大匹配 匈牙利算法 )
描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭. 现在已知哪些男孩与哪些女孩如果结婚的话,可以结成幸 ...
- NYOJ——239月老的难题(二分图最大匹配)
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家, ...
- nyoj 239 月老的难题 【二分匹配之匈牙利】
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...
- NYOJ239 月老的难题 二分图最大匹配(前向星)
题意: 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭. 现在已知哪些男孩与哪些女孩如果结婚的话,可以结成 ...
- nyoj 239 月老的难题
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=239 简单的二分匹配,不过这道题很怪,矩阵就是tle,临界表200多,很无语. 以前做个, ...
- NYOJ 题目239 月老的难题 (二分图最大匹配-匈牙利算法模板)
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...
- nyoj 月老的难题【最大匹配】
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...
- nyoj-239 月老的难题 (二分图匹配—匈牙利算法 网络流—Dinic算法)
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...
- nyoj239 月老的难题 二分图 匈牙利算法
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...
- 问题测试数据NYOJ 478 月老的难题 (1)解题报告
查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 间时制限: 1000 ms | 存内制限: 65535 KB 难度: 3 月老近最遇到了 ...
最新文章
- kotlin的Delegates与lateinit对比
- SQL(基于MySQL)——LIMIT用法
- R语言观察日志(part3)--repeat循环
- 瀑布流ListView
- html ie8上传图片,图片上传本地预览兼容ie8
- 我最近读了什么书?(随时更新)
- java生成pdf417_java生成PDF417条码
- matlab min函数_数学建模与MATLAB非线性规划
- 【Spring 5】响应式Web框架实战(上) 1
- Java语言的Hook实现
- Linux运维第二课----Linux发展史、环境准备
- cad在线转换低版本_资源分享/CAD版本转换器
- vue前端项目上线配置
- 用 Boost.extension 做C/C++插件
- 培训班作业---作业1:公羊母羊生小羊的问题
- 雅思阅读真经总纲_雅思阅读用哪本书?五大热门雅思阅读书籍全面点评
- SLAM中Bundle Adjustment与图优化
- [BZOJ2177][最小/最大(曼哈顿距离)生成树]曼哈顿最小生成树
- 显卡内存足够但是torch报错RuntimeError: CUDA out of memory
- 同样是程序员 为什么薪资不同