POJ_2536_Gopher II
题意:n只地鼠,m个地鼠洞,地鼠必须以v的速度在s秒内钻进洞且每个洞仅能容纳一只地鼠,问最少有几只地鼠会被老鹰吃掉。
分析:最大匹配问题,将s秒内地鼠能够跑到的洞与该地鼠连成一条边,在最后得到的图中使用匈牙利。
代码:
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; #define Del(x,y) memset(x,y,sizeof(x))double xx[105],yy[105]; int n,m; int map[105][105],vis[105],link[105];bool dfs(int x) {for(int i=1; i<=m; i++)if(map[x][i]==1&&vis[i]==0){vis[i]=1;if(link[i]==-1||dfs(link[i])){link[i]=x;return true;}}return false; }void solve() {int ans=0;Del(link,-1);for(int i=1; i<=n; i++){Del(vis,0);if(dfs(i))ans++;}printf("%d\n",n-ans); }double dis(int i,double a,double b) {return sqrt((xx[i]-a)*(xx[i]-a)+(yy[i]-b)*(yy[i]-b)); }int main() {int s,v;double p,q;while(~scanf("%d%d%d%d",&n,&m,&s,&v)){for(int i=1; i<=n; i++)scanf("%lf%lf",&xx[i],&yy[i]);Del(map,0);for(int i=1; i<=m; i++){scanf("%lf%lf",&p,&q);for(int j=1; j<=n; j++){if(dis(j,p,q)<=(s*v))map[j][i]=1;}}solve();}return 0; }
转载于:https://www.cnblogs.com/jasonlixuetao/p/4756178.html
POJ_2536_Gopher II相关推荐
- 剑指offer:面试题32 - II. 从上到下打印二叉树 II
题目:从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ ...
- 剑指offer:面试题14- II. 剪绳子 II
题目:剪绳子 II 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] .请问 k[0]* ...
- 递归/回溯:Combination Sum II数组之和
问题如下: 已知一组数(其中有重复元素),求这组数可以组成的所有子集中,子 集中的各个元素和为整数target的子集,结果中无重复的子集. 例如: nums[] = [10, 1, 2, 7, 6, ...
- 递归/回溯:Subsets II求子集(有重复元素)
上一篇描述了针对数组中没有重复元素进行子集的求取过程递归/回溯:subsets求子集 但是当出现如下数组时: 例如: nums[] = [2, 1, 2, 2] 结果为: [[], [1], [1,2 ...
- HDU 2080 夹角有多大II
夹角有多大II Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- 了解ES6 The Dope Way Part II:Arrow功能和'this'关键字
by Mariya Diminsky 通过玛丽亚·迪明斯基(Mariya Diminsky) 了解ES6 The Dope Way Part II:Arrow功能和'this'关键字 (Learn E ...
- Leetcode 213.大家劫舍II
打家劫舍II 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两 ...
- 用Quartus II Timequest Timing Analyzer进行时序分析 :实例讲解 (一)
一,概述 用Altera的话来讲,timequest timing analyzer是一个功能强大的,ASIC-style的时序分析工具.采用工业标准--SDC(synopsys design con ...
- 数据结构与算法:04 C#面向对象设计 II
04 C#面向对象设计 II 知识结构: 5.属性 例1:属性概念的引入(问题) public class Animal {public int Age;public double Weight;pu ...
最新文章
- Linux下tomcat安装及优化
- 计算机辅助管理考试,计算机辅助考试研究
- 基于注解的方式配置bean
- P3302 SDOI2013森林
- 什么是 AJAX, what is AJAX(一)
- springboot 整合mybatisplus输出sql语句不输出结果集
- 【披着递推皮的动态规划】 山区建小学 题解
- jQuery窗口调整大小
- 【滤波器】基于matlab脉冲响应不变法+双线性变换法数字滤波器设计【含Matlab源码 884期】
- 利用python预测sir模型_SI,SIS,SIR模型的正确实现(python)
- R语言作业wine 数据
- 单独使用mybatis整合mysql案例
- 安洵信息渗透工程师面试经验分享
- android orientation 代码,android常见错误之Wrong orientation? No orientation specified
- pycharm永久激活
- VGL与中国海洋石油签署液化天然气购销协议;徐工汉云打造国内首个智能化剥片机组 | 能动...
- YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别)
- Centos8怎么进行复位清屏? Centos8终端复位清屏的技巧
- 高斯核——Python实现
- [Tensorflow]关于TFRecord和tf.Example的使用