POJ 2536 Gopher II(二分图最大匹配)
来源:互联网 发布:网络风靡的性感骚彤彤 编辑:程序博客网 时间:2024/05/16 01:49
题目链接:POJ 2536 Gopher II
如果某个老鼠能在s秒内跑进某个洞,这两者之间连一条边,这样图就建好了,注意最后问的是挂掉的老鼠,所以应该是n - MAxMatch()。
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int MAX_N = 200 + 20;bool _map[MAX_N][MAX_N], vis[MAX_N];int link[MAX_N];struct Point{ double x, y;};Point p[MAX_N];int n, m, s, v;bool dfs(int u){ for(int i = n + 1; i <= n + m; i++) { if(!vis[i] && _map[u][i]) { vis[i] = true; if(link[i] == -1 || dfs(link[i])) { link[i] = u; return true; } } } return false;}int MaxMatch(){ int num = 0; memset(link, -1, sizeof(link)); for(int i = 1; i <= n; i++) { memset(vis, 0, sizeof(vis)); if(dfs(i)) num++; } return num;}double dis(int a, int b){ return sqrt((p[a].x - p[b].x) * (p[a].x - p[b].x) + (p[a].y - p[b].y) * (p[a].y - p[b].y));}bool isOK(int a, int b){ if(dis(a, b) / v > s) return false; return true;}int main(){ while(scanf("%d%d%d%d", &n, &m, &s, &v) != EOF) { memset(_map, 0, sizeof(_map)); for(int i = 1; i <= n + m; i++) scanf("%lf%lf", &p[i].x, &p[i].y); for(int i = 1; i <= n; i++) for(int j = n + 1; j <= n + m; j++) if(isOK(i, j)) _map[i][j] = 1; printf("%d\n", n - MaxMatch()); } 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(二分图最大匹配)
- POJ 2536 - Gopher II(二分图匹配)
- POJ 2536 Gopher II 二分图匹配
- POJ2536 Gopher II【二分图最大匹配】
- Gopher II(二分图最大匹配)
- POJ2536 Gopher II(二分图最大匹配)
- ios视图切换效果
- 《剑指offer》面试题4(合并数组)
- 黑马程序员--Java异常处理
- 《剑指offer》面试题4(替换空格)
- linux 常用命令
- POJ 2536 Gopher II(二分图最大匹配)
- 《剑指offer》链表的结点的插入删除
- Socket 多线程
- 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问
- Java web之mysql数据源
- 八千里路云和月
- DataTable填充实体类返回泛型集合
- Java生产者消费者
- static 修饰符