链接:https://vjudge.net/problem/HDU-1179

题意:

有n个法师和m个魔棒,每个法师喜欢多种魔棒,但每个法师只能在喜欢的魔棒中选一个。

求最多有几个法师能选到魔棒。

思路:

二分图最大匹配,因为题目是魔棒对应的法师,所以输入处理一下。

代码:

#include <iostream>
#include <memory.h>
#include <string>
#include <istream>
#include <sstream>
#include <vector>
#include <stack>
#include <algorithm>
#include <map>
#include <queue>
#include <math.h>
#include <cstdio>
#include <set>
#include <iterator>
#include <cstring>
using namespace std; typedef long long LL;
const int MAXN = 2000+10;
vector<int> G[MAXN];
int Link[MAXN], Vis[MAXN];
int n, m; void Init()
{
for (int i = 1;i <= n;i++)
G[i].clear();
} bool Dfs(int x)
{
for (int i = 0;i < G[x].size();i++)
{
int node = G[x][i];
if (Vis[node])
continue;
Vis[node] = 1;
if (Link[node] == -1 || Dfs(Link[node]))
{
Link[node] = x;
return true;
}
}
return false;
} int Solve()
{
memset(Link, -1, sizeof(Link));
int cnt = 0;
for (int i = 1;i <= n;i++)
{
memset(Vis, 0, sizeof(Vis));
if (Dfs(i))
cnt++;
}
return cnt;
} int main()
{
while (cin >> n && n)
{
Init();
cin >> m;
int num, r;
for (int i = 1;i <= m;i++)
{
cin >> num;
while (num--)
{
cin >> r;
G[r].push_back(i);
}
}
int cnt = Solve();
cout << cnt << endl;
} return 0;
}

  

最新文章

  1. FeatureLayer,FeatureDataset,FeatureClass,Feature的概念
  2. matlab算法
  3. UVA 10003 切木棍(普通DP)
  4. Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK fla
  5. 《驾驭Core Data》 第二章 Core Data入门
  6. A Walk Through the Forest[HDU1142]
  7. php生成CSV格式(转)
  8. iOS 生成本地验证码
  9. PHP的$_SERVER[&#39;HTTP_HOST&#39;]获取服务器地址功能详解,$_SERVER[&#39;HTTP_X_FORWARDED_HOST&#39;]
  10. 关于取数组地址的识记(&amp;s+1,s+1,&amp;s[0]+1)
  11. CentOS DNS resolv重启无效的解决方法
  12. mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
  13. Sliverlight之 画刷
  14. Linux CPU监控指标
  15. 文件的上传(表单上传和ajax文件异步上传)
  16. (三十二)DatePicker和自定义键盘
  17. VS2017 配置ImageMagick
  18. dup等复制文件描述符函数
  19. oc字符串与c字符串转换和拷贝
  20. A Personal Understanding to Matrix Transformation in Graphics

热门文章

  1. RQNOJ 328 炮兵阵地:状压dp
  2. java中indexOf()
  3. Java_泛型_01_T与?
  4. linux命令学习笔记(54):ping命令
  5. poj1637 Sightseeing tour[最大流+欧拉回路]
  6. Codeforces 762C Two strings 字符串
  7. python+selenium自动化测试环境搭建
  8. css3 实现loading效果
  9. Advanced R之编程风格
  10. /dev/mapper/vg_zjxtest-lv_root 占用到达100%的解决方法