HDU-1179-Ollivanders(二分图最大匹配)
2024-10-04 01:19:27
链接: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;
}
最新文章
- FeatureLayer,FeatureDataset,FeatureClass,Feature的概念
- matlab算法
- UVA 10003 切木棍(普通DP)
- Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK fla
- 《驾驭Core Data》 第二章 Core Data入门
- A Walk Through the Forest[HDU1142]
- php生成CSV格式(转)
- iOS 生成本地验证码
- PHP的$_SERVER[&#39;HTTP_HOST&#39;]获取服务器地址功能详解,$_SERVER[&#39;HTTP_X_FORWARDED_HOST&#39;]
- 关于取数组地址的识记(&;s+1,s+1,&;s[0]+1)
- CentOS DNS resolv重启无效的解决方法
- mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
- Sliverlight之 画刷
- Linux CPU监控指标
- 文件的上传(表单上传和ajax文件异步上传)
- (三十二)DatePicker和自定义键盘
- VS2017 配置ImageMagick
- dup等复制文件描述符函数
- oc字符串与c字符串转换和拷贝
- A Personal Understanding to Matrix Transformation in Graphics
热门文章
- RQNOJ 328 炮兵阵地:状压dp
- java中indexOf()
- Java_泛型_01_T与?
- linux命令学习笔记(54):ping命令
- poj1637 Sightseeing tour[最大流+欧拉回路]
- Codeforces 762C Two strings 字符串
- python+selenium自动化测试环境搭建
- css3 实现loading效果
- Advanced R之编程风格
- /dev/mapper/vg_zjxtest-lv_root 占用到达100%的解决方法