Codeforces Round #277.5(Div. 2) B. BerSU Ball【二分匹配】
来源:互联网 发布:哔哩哔哩录屏软件 编辑:程序博客网 时间:2024/06/05 22:31
The Berland State University is hosting a ballroom dance in celebration of its 100500-th anniversary!n boys and m girls are already busy rehearsing waltz, minuet, polonaise and quadrille moves.
We know that several boy&girl pairs are going to be invited to the ball. However, the partners' dancing skill in each pair must differ by at most one.
For each boy, we know his dancing skills. Similarly, for each girl we know her dancing skills. Write a code that can determine the largest possible number of pairs that can be formed fromn boys and m girls.
The first line contains an integer n (1 ≤ n ≤ 100) — the number of boys. The second line contains sequencea1, a2, ..., an (1 ≤ ai ≤ 100), where ai is thei-th boy's dancing skill.
Similarly, the third line contains an integer m (1 ≤ m ≤ 100) — the number of girls. The fourth line contains sequenceb1, b2, ..., bm (1 ≤ bj ≤ 100), where bj is thej-th girl's dancing skill.
Print a single number — the required maximum possible number of pairs.
41 4 6 255 1 5 7 9
3
41 2 3 4410 11 12 13
0
51 1 1 1 131 2 3
2
#include<stdio.h>#include<string.h>#include<vector>#include<algorithm>using namespace std;vector<int >mp[1150];int a[1150];int b[1150];int match[1150];int vis[1150];int find(int u){ for(int i=0;i<mp[u].size();i++) { int v=mp[u][i]; if(vis[v]==0) { vis[v]=1; if(match[v]==-1||find(match[v])) { match[v]=u; return 1; } } } return 0;}int main(){ int n,m; while(~scanf("%d",&n)) { memset(match,-1,sizeof(match)); for(int i=1;i<=n;i++)mp[i].clear(); for(int i=1;i<=n;i++)scanf("%d",&a[i]); scanf("%d",&m); for(int i=1;i<=m;i++)scanf("%d",&b[i]); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(abs(a[i]-b[j])<=1) { mp[i].push_back(j); } } } int output=0; for(int i=1;i<=n;i++) { memset(vis,0,sizeof(vis)); if(find(i))output++; } printf("%d\n",output); }}
- Codeforces Round #277.5(Div. 2) B. BerSU Ball【二分匹配】
- Codeforces Round #277.5 (Div. 2)B——BerSU Ball
- Codeforces Round #277.5 (Div. 2)---B. BerSU Ball (贪心)
- Codeforces Round #277.5 (Div. 2):B BerSU Ball
- Codeforces #277.5 (Div. 2) B. BerSU Ball(DP:LCS)
- CodeForces 489B BerSU Ball
- Codeforces 489B BerSU Ball
- CF 277.5 B. BerSU Ball
- Codeforces Round #321 (Div. 2) B 二分
- B. BerSU Ball
- 【寒江雪】B. BerSU Ball
- codeforces—— 489B —— BerSU Ball
- Codeforces Round #176 (Div. 2) B. Pipeline//二分查找
- Codeforces Round #271 (Div. 2) --B Worms (二分)
- Codeforces Round #276 (Div. 2) B. Valuable Resources 二分
- Codeforces Round #311 (Div. 2) B. Pasha and Tea【二分】
- Codeforces Round #367 (Div. 2) B Interesting drink【二分】
- 【Codeforces Round 367 (Div 2) B】【二分查找】Interesting drink
- 在mac中安装docker
- [Data Structure & Algorithm] 七大查找算法
- 浅谈jQuery源码(四)——$.grep
- Linux学习之第十五章虚拟机
- 机器学习练习二:多元线性回归
- Codeforces Round #277.5(Div. 2) B. BerSU Ball【二分匹配】
- HDU1004暴力求解
- python多进程与多线程学习总结
- memset函数的作用和用法
- Android中三种像素单位的区别
- Android学习(0)
- 为coder写的UUID小知识
- Unity实现UI渐变效果(UGUI)
- hibernate教程--一级缓存详解