POJ 2536 Gopher II(二分图的最大匹配)
来源:互联网 发布:c语言常用代码 编辑:程序博客网 时间:2024/04/29 18:02
题目链接:http://poj.org/problem?id=2536
题意:已知有n只老鼠的坐标,m个洞的坐标,老鼠的移动速度为V,S秒以后有一只老鹰要吃老鼠,问有多少个老鼠被吃。
很明晰,二分匹配,老鼠为X集合,洞为Y集合
思路:计算当前老鼠 Xi 到达洞 Yi 的时间(dis/v),如果小于S的话,则Xi与Yi联通,
被吃的老鼠数 = n - 最大匹配数
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <math.h>#define init(a) memset(a,0,sizeof(a))#define PI acos(-1,0)using namespace std;const int maxn = 310;const int maxm = 100001;#define lson left, m, id<<1#define rson m+1, right, id<<1|1#define min(a,b) (a>b)?b:a#define max(a,b) (a>b)?a:bint n,m,s,v,ma[500][500];bool vis[500];int line[500];struct node{ double x,y;};node g[300],h[300];int DFS(int u){ for(int v = 1;v<=m;v++) { if(!vis[v]&&ma[u][v]) { vis[v]=1; if(line[v]==-1 || DFS(line[v])) { line[v] = u; return 1; } } } return 0;}int K_M(){ memset(line,-1,sizeof(line)); int ans=0; for(int i = 1;i<=n;i++) { init(vis); ans += DFS(i); } return ans;}int main(){ while(scanf("%d%d%d%d",&n,&m,&s,&v)!=EOF) { init(ma); for(int i=1;i<=n;i++) { scanf("%lf%lf",&g[i].x,&g[i].y); } for(int i=1;i<=m;i++) { scanf("%lf%lf",&h[i].x,&h[i].y); } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { double dis = sqrt((h[j].x-g[i].x)*(h[j].x-g[i].x)+(h[j].y-g[i].y)*(h[j].y-g[i].y));//老鼠与洞的距离 if(dis / v <= (double)s)//老鼠到达洞的时间<S { ma[i][j] = 1; } } } int ans = K_M(); printf("%d\n",n - ans); } return 0;}
0 0
- 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(二分图最大匹配)
- Gopher II(二分图最大匹配)
- POJ 2536 - Gopher II(二分图匹配)
- POJ 2536 Gopher II 二分图匹配
- POJ 2536 Gopher II(二分图匹配)
- POJ2536 Gopher II【二分图最大匹配】
- tyvj p1001- 第K极值[模拟]
- Java线程(五):Timer和TimerTask
- One Definition Rules
- HDU 1010 dfs 固定步数
- 【阅读】《Head First HTML 与 CSS》第14章——实现交互
- POJ 2536 Gopher II(二分图的最大匹配)
- POJ 3709 K-Anonymous Sequence (斜率优化DP)
- hdu 3125 Slash(模拟)
- HDU 1047 Integer Inquiry
- HDU 2222 Keyword Search AC自动机模板
- makefile 编写,编译动态库,编译静态库
- 设置自动启动和停止oracle实例
- c语言字符串与整数之间的转换
- Tomcat 7.0+Solr4.9部署