Just Oj 2017C语言程序设计竞赛高级组E: DATE ALIVE(二分匹配)
E: DATE ALIVE
时间限制: 1 s 内存限制: 128 MB
提交 我的状态
题目描述
五河士道家里的精灵越来越多了,而每一个精灵都想和他有一个约会。然而五河士道却只有一个,无奈之下只能使出分身帮自己解围。
不过并不是所有的精灵都同意这样做,有些精灵不愿意和士道分身进行约会,也有部分精灵同时选择同一个分身进行约会。
假设有N个分身,精灵的数量为M,可能的约会组合有K组。
设N=3,M=5,K=5,可能的组合为1-1,1-3,2-4,3-4,3-5(如下图),为了避免冲突,我们最多可以选择1-1,2-4,3-5一共三种组合(或者是1-3,2-4,3-5)
那么请设计一个程序判断每一次可能的组队最多能确定多少队伍?最后,让我们的约会开始吧~
输入
输入N,M,K
N,M,K为正整数
1<=N<=500
1<=M<=500
接下来K行,输入u,v,表示uv之间愿意组队
u在N的范围内,v在M的范围内
输出
输出最大组队数目
样例输入
3 5 5
1 1
1 3
2 4
3 4
3 5
样例输出
3
题意:求最多可以匹配多少个道士;
分析:可以用匈牙利算法解决:枚举道士,找出匹配的精灵,若该精灵已经匹配,则判断是否可以让原配换一个精灵;
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
bool link[505][505];//判断两结点是否连接
bool used[505];//是否被访问过
int fa[505];//所配道士
int m;
bool find(int x)
{
for(int i=1;i<=m;i++){
if(link[x][i]&&!used[i]){
used[i]=1;
if(!fa[i]||find(fa[i])){//i无原配或者原配可以让出i换一个精灵
fa[i]=x;
return 1;
}
}
}
return 0;
}
int main()
{
int n,k;
scanf("%d%d%d", &n,&m,&k);
while(k--){
int x,y;
scanf("%d%d",&x,&y);
link[x][y]=1;//两点可以连接
}
int cnt=0;
for(int i=1;i<=n;i++){
memset(used,0,sizeof(used));//好几次忘了这个
if(find(i))
cnt++;
}
printf("%d\n",cnt);
return 0;
}
Just Oj 2017C语言程序设计竞赛高级组E: DATE ALIVE(二分匹配)的更多相关文章
- Just Oj 2017C语言程序设计竞赛高级组A: 求近似值(矩阵快速幂)
A: 求近似值 时间限制: 1 s 内存限制: 128 MB 提交 我的状态 题目描述 求⌊(5–√+6–√)2n⌋⌊(5+6)2n⌋%9932017. 例如:n=1,(5–√+6–√)2( ...
- Just Oj 2017C语言程序设计竞赛高级组D: 字符串最大表示(next数组)
D: 字符串最大表示 时间限制: 1 s 内存限制: 128 MB 题目描述 有如下定义,abcnabcn表示字符串abc重复n次,例如abc2abc2表示abcabc. 给定一个字符串,求 ...
- 2014江西理工大学C语言程序设计竞赛高级组题解
1001 Beautiful Palindrome Number 枚举回文数字前半部分,然后判断该数字是否满足,复杂度为O(sqrt(n))! 1002 Recovery Sequence 本题的核 ...
- 2017年江西理工大学C语言程序设计竞赛(高级组)
问题 A: 求近似值 #include <stdio.h> #include <time.h> #include <stdlib.h> using namespac ...
- 2018年江西理工大学C语言程序设计竞赛(高级组) 三角平方数
题目描述 三角数:形如图a,圆点摆放成等边三角形的数字,则为三角数. (图a) 平方数:形如图b,小方块摆放成正方形的数字,则为平方数. (图b) 那么如果一个数字既是三角形数又是平方数,则称为三角平 ...
- 2018年江西理工大学C语言程序设计竞赛高级组部分题解
B Interesting paths 考察范围:组合数学 此题是机器人走方格的变种,n*m的网格,从(1,1)走到(n,m),首先可以明确,水平要走m-1格,竖直要走n-1格,则走到目的地的任意一条 ...
- 2018年江西理工大学C语言程序设计竞赛(初级组)一
C语言竞赛初级组第一.二场答案:https://www.cnblogs.com/xingkongyihao/p/10046918.html A: 逆序对 时间限制: 1 s 内存限制: ...
- 2014江西理工大学C语言程序竞赛高级组
Beautiful Palindrome Number 题意:求N里面有多少个符合要求的数字(数字要求:回文数,且前一半部分是不严格递增) 解法:打表 #include<bits/stdc++. ...
- 2017年江西理工大学C语言程序设计竞赛(初级组)
问题 A: Petr的盒子(初) #include <iostream> #include <stdio.h> #include <algorithm> using ...
随机推荐
- Java基础5-接口
昨日内容回顾 jvm参数设置 -Xmx //设置最大堆大小 java -Xmx512m Classname -Xms //设置初始堆大小 java -Xms24m Classname -Xss //设 ...
- VC使一个对话框不显示
//add this void CbkDlg::OnNcPaint() { ShowWindow(SW_HIDE); CDialog::OnNcPaint(); } 初始化时 ...
- SSH远程联机Linux服务器简易安全设定
分别可以由底下这三方面来进行: 1.服务器软件本身的设定强化:/etc/ssh/sshd_config 2.TCP wrapper 的使用:/etc/hosts.allow, /etc/hosts.d ...
- VS2015 代码片段整理
1.什么是代码段? 将一段代码行提取出来,可以多次重复的使用.VS IDE提供对代码段的完整支持.使代码编写更快.更容易.更可靠. 2.系统默认代码段 对于开发人员的例行任务,Visual Studi ...
- zabbix添加对haproxy的监控
zabbix添加对haproxy的监控 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy本身提供一个web页面 ...
- 自动化工具 Sikuli-Script 使用
Sikuli-IDE用起来方便,但是用到实际项目中还是有局限性的,Sikuli提供了Sikuli-Script的jar包,在Sikuli-X的安装目录下,这样就可以在 eclipse中使用JAVA编写 ...
- 关于socket.io获取客户端真实IP地址
1 前言 由于使用了CDN加速,导致了socket.handshake.address拿到值都是服务器的,而没有使用CDN加速时,可以拿到客户端真实IP. 2 代码 if(socket.handsha ...
- [PHP]一些坑
一.如果有一个字符串变量等于'error',它跟0 == 运算时,会返回true,但是它并不是一个预置常量 $test = 'error'; var_dump($test == 0);//true 二 ...
- Codeforces 1097G Vladislav and a Great Legend [树形DP,斯特林数]
洛谷 Codeforces 这题真是妙的很. 通过看题解,终于知道了\(\sum_n f(n)^k\)这种东西怎么算. update:经过思考,我对这题有了更深的理解,现将更新内容放在原题解下方. ...
- 金九银十中,看看这31道Android面试题
阅读目录 1.如何对 Android 应用进行性能分析 2.什么情况下会导致内存泄露 3.如何避免 OOM 异常 4.Android 中如何捕获未捕获的异常 5.ANR 是什么?怎样避免和解决 ANR ...