POJ 2536 Gopher II (ZOJ 2536) 二分图匹配
来源:互联网 发布:恶搞淘宝收件人名字 编辑:程序博客网 时间:2024/06/11 06:30
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1882
http://poj.org/problem?id=2536
题目大意:
有n之地鼠和m个地洞,他们需要在s秒内以v秒的速度跑进洞中,否则会被鹰抓走。给定每个地鼠和洞的坐标,每个洞最多容纳一只地鼠,问最小有危险的地鼠个数。
思路:
跑回学校了~来A几题。 几个月前看的题不会做T T,现在好简单。。。
本题可以转化为二分图匹配。如果地鼠到洞的时间小于s,那么久建一条边,求出最大匹配,然后用总数减去最大匹配即可。
#include<cstdio>#include<cmath>#include<cstring>const int MAXN=200+10;int head[MAXN],len,res[MAXN];bool vis[MAXN];struct edge{int to,next;}e[MAXN*MAXN];void add(int from,int to){e[len].to=to;e[len].next=head[from];head[from]=len++;}struct point{double x,y;}gopher[MAXN],hole[MAXN];double getlen(double x1,double y1,double x2,double y2){return sqrt( (x1-x2)*(x1-x2) +(y1-y2)*(y1-y2));}bool find(int a){for(int i=head[a];i!=-1;i=e[i].next){int id=e[i].to;if(!vis[id]){vis[id]=true;if(res[id]==0 || find(res[id]) ){res[id]=a;return true;}}}return false;}int main(){int n,m;double s,v;while(~scanf("%d%d%lf%lf",&n,&m,&s,&v)){memset(head,-1,sizeof(head));memset(res,0,sizeof(res));len=0;for(int i=1;i<=n;i++)scanf("%lf%lf",&gopher[i].x,&gopher[i].y);for(int i=1;i<=m;i++)scanf("%lf%lf",&hole[i].x,&hole[i].y);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){double len=getlen(gopher[i].x,gopher[i].y,hole[j].x,hole[j].y);if( len/v < s)add(i,j);}}int ans=0;for(int i=1;i<=n;i++){memset(vis,0,sizeof(vis));if(find(i)) ans++;}printf("%d\n",n-ans);}return 0;}
2 0
- POJ 2536 Gopher II (ZOJ 2536) 二分图匹配
- POJ 2536 - Gopher II(二分图匹配)
- POJ 2536 Gopher II 二分图匹配
- POJ 2536 Gopher II 二分匹配
- 【POJ】2536 Gopher II 二分匹配
- 【二分图+最大匹配】北大 poj 2536 Gopher II
- POJ 2536 Gopher II(二分图最大匹配)
- POJ 2536 Gopher II(二分图最大匹配)
- POJ 2536 Gopher II(二分图的最大匹配)
- POJ 2536 Gopher II(二分图匹配)
- poj 2536 Gopher II 二分图最大匹配
- POJ 2536 Gopher II (二分图求最大匹配)
- POJ - 2536 Gopher II 二分图 最大匹配
- POJ 2536 Gopher II (二分图最大匹配)
- POJ 2536 Gopher II(二分图最大匹配)
- poj 2536 Gopher II(二分图最大匹配,构图)
- POJ 2536 Gopher II(二分图最大匹配)
- POJ 2536 Gopher II(二分图最大匹配)
- 给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数
- ZOJ 3717 2-sat 进位精度
- java之LineNumberReader
- Core Animation之基础介绍
- hdu 1160 FatMouse's Speed 简单dp 题解
- POJ 2536 Gopher II (ZOJ 2536) 二分图匹配
- BOII 1998 Evil Eyes
- ubuntu12.04安装openCV2.4.2
- Core Animation之简单使用CALayer
- 并查集
- Core Animation之多种动画效果
- 备份和恢复Linux系统的MBR
- 安装webmin
- 黄聪:Python+NLTK自然语言处理学习(一):环境搭建