题意: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相关推荐

  1. 剑指offer:面试题32 - II. 从上到下打印二叉树 II

    题目:从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 例如: 给定二叉树: [3,9,20,null,null,15,7], 3    / \ ...

  2. 剑指offer:面试题14- II. 剪绳子 II

    题目:剪绳子 II 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] .请问 k[0]* ...

  3. 递归/回溯:Combination Sum II数组之和

    问题如下: 已知一组数(其中有重复元素),求这组数可以组成的所有子集中,子 集中的各个元素和为整数target的子集,结果中无重复的子集. 例如: nums[] = [10, 1, 2, 7, 6, ...

  4. 递归/回溯:Subsets II求子集(有重复元素)

    上一篇描述了针对数组中没有重复元素进行子集的求取过程递归/回溯:subsets求子集 但是当出现如下数组时: 例如: nums[] = [2, 1, 2, 2] 结果为: [[], [1], [1,2 ...

  5. HDU 2080 夹角有多大II

    夹角有多大II Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  6. 了解ES6 The Dope Way Part II:Arrow功能和'this'关键字

    by Mariya Diminsky 通过玛丽亚·迪明斯基(Mariya Diminsky) 了解ES6 The Dope Way Part II:Arrow功能和'this'关键字 (Learn E ...

  7. Leetcode 213.大家劫舍II

    打家劫舍II 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两 ...

  8. 用Quartus II Timequest Timing Analyzer进行时序分析 :实例讲解 (一)

    一,概述 用Altera的话来讲,timequest timing analyzer是一个功能强大的,ASIC-style的时序分析工具.采用工业标准--SDC(synopsys design con ...

  9. 数据结构与算法:04 C#面向对象设计 II

    04 C#面向对象设计 II 知识结构: 5.属性 例1:属性概念的引入(问题) public class Animal {public int Age;public double Weight;pu ...

最新文章

  1. Linux下tomcat安装及优化
  2. 计算机辅助管理考试,计算机辅助考试研究
  3. 基于注解的方式配置bean
  4. P3302 SDOI2013森林
  5. 什么是 AJAX, what is AJAX(一)
  6. springboot 整合mybatisplus输出sql语句不输出结果集
  7. 【披着递推皮的动态规划】 山区建小学 题解
  8. jQuery窗口调整大小
  9. 【滤波器】基于matlab脉冲响应不变法+双线性变换法数字滤波器设计【含Matlab源码 884期】
  10. 利用python预测sir模型_SI,SIS,SIR模型的正确实现(python)
  11. R语言作业wine 数据
  12. 单独使用mybatis整合mysql案例
  13. 安洵信息渗透工程师面试经验分享
  14. android orientation 代码,android常见错误之Wrong orientation? No orientation specified
  15. pycharm永久激活
  16. VGL与中国海洋石油签署液化天然气购销协议;徐工汉云打造国内首个智能化剥片机组 | 能动...
  17. YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别)
  18. Centos8怎么进行复位清屏? Centos8终端复位清屏的技巧
  19. 高斯核——Python实现
  20. [Tensorflow]关于TFRecord和tf.Example的使用

热门文章

  1. python3—廖雪峰之练习(三)
  2. 安装rabbitMQ
  3. 数据中心规划设计中值得注意的八个问题
  4. 怎么让代码不再臃肿,写的像诗一样优雅
  5. MySQL之check、optimize和analyze
  6. Autodesk 产品二次开发技术研讨会将在上海广州北京相继举行
  7. 存储过程--分页与C#代码调用
  8. 虚拟目录和应用程序的区别
  9. C#语法糖(Csharp Syntactic sugar)大汇总
  10. Hibernate 注解学习