月老的难题

时间限制:1000 ms  |  内存限制:65535 KB
难度:4
描述

月老准备给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 :月老的难题(二分图最大匹配)相关推荐

  1. NYOJ - 239 - 月老的难题 ( 二分图最大匹配 匈牙利算法 )

    描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭. 现在已知哪些男孩与哪些女孩如果结婚的话,可以结成幸 ...

  2. NYOJ——239月老的难题(二分图最大匹配)

    月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家, ...

  3. nyoj 239 月老的难题 【二分匹配之匈牙利】

    月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...

  4. NYOJ239 月老的难题 二分图最大匹配(前向星)

    题意: 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭. 现在已知哪些男孩与哪些女孩如果结婚的话,可以结成 ...

  5. nyoj 239 月老的难题

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=239 简单的二分匹配,不过这道题很怪,矩阵就是tle,临界表200多,很无语. 以前做个, ...

  6. NYOJ 题目239 月老的难题 (二分图最大匹配-匈牙利算法模板)

    月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...

  7. nyoj 月老的难题【最大匹配】

    月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...

  8. nyoj-239 月老的难题 (二分图匹配—匈牙利算法 网络流—Dinic算法)

    月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...

  9. nyoj239 月老的难题 二分图 匈牙利算法

    月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...

  10. 问题测试数据NYOJ 478 月老的难题 (1)解题报告

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 间时制限: 1000 ms  |  存内制限: 65535 KB 难度: 3 月老近最遇到了 ...

最新文章

  1. kotlin的Delegates与lateinit对比
  2. SQL(基于MySQL)——LIMIT用法
  3. R语言观察日志(part3)--repeat循环
  4. 瀑布流ListView
  5. html ie8上传图片,图片上传本地预览兼容ie8
  6. 我最近读了什么书?(随时更新)
  7. java生成pdf417_java生成PDF417条码
  8. matlab min函数_数学建模与MATLAB非线性规划
  9. 【Spring 5】响应式Web框架实战(上) 1
  10. Java语言的Hook实现
  11. Linux运维第二课----Linux发展史、环境准备
  12. cad在线转换低版本_资源分享/CAD版本转换器
  13. vue前端项目上线配置
  14. 用 Boost.extension 做C/C++插件
  15. 培训班作业---作业1:公羊母羊生小羊的问题
  16. 雅思阅读真经总纲_雅思阅读用哪本书?五大热门雅思阅读书籍全面点评
  17. SLAM中Bundle Adjustment与图优化
  18. [BZOJ2177][最小/最大(曼哈顿距离)生成树]曼哈顿最小生成树
  19. 显卡内存足够但是torch报错RuntimeError: CUDA out of memory
  20. 同样是程序员 为什么薪资不同

热门文章

  1. 【案例】别人卖1000刀!一套油管自动生产视频赚钱方法详解,FFMPEG高手看来
  2. autodesk fbx sdk sample里面的工程无法调试解决方法
  3. 山寨起源——河神的全斧头
  4. 170713 逆向-填数游戏
  5. 【观察】跨入5G新时代,维谛技术(Vertiv)的行与思
  6. vue实现图片自定义尺寸裁切并上传
  7. 不得不佩服下自己:关于正反双面打印的问题分析
  8. 如何用计算机给闺蜜表白,闺蜜情话最暖心短句50句
  9. slite的一些基本介绍
  10. 我的2011,一半是海水,一半是烈焰