题目描述在一个热带雨林中生存着一群猴子,它们以树上的果子为生。昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水面上。猴子不会游泳,但跳跃能力比较强,它们仍然可以在露出水面的不同树冠上来回穿梭,以找到喜欢吃的果实。现在,在这个地区露出水面的有N棵树,假设每棵树本身的直径都很小,可以忽略不计。我们在这块区域上建立直角坐标系,则每一棵树的位置由其所对应的坐标表示(任意两棵树的坐标都不相同)。在这个地区住着的猴子有M个,下雨时,它们都躲到了茂密高大的树冠中,没有被大水冲走。由于各个猴子的年龄不同、身体素质不同,它们跳跃的能力不同。有的猴子跳跃的距离比较远(当然也可以跳到较近的树上),而有些猴子跳跃的距离就比较近。这些猴子非常聪明,它们通过目测就可以准确地判断出自己能否跳到对面的树上。【问题】现已知猴子的数量及每一个猴子的最大跳跃距离,还知道露出水面的每一棵树的坐标,你的任务是统计有多少个猴子可以在这个地区露出水面的所有树冠上觅食。
输入输出格式
输入格式:输入文件monkey.in包括:第1行为一个整数,表示猴子的个数M(2<=M<=500);第2行为M个整数,依次表示猴子的最大跳跃距离(每个整数值在1--1000之间);第3行为一个整数表示树的总棵数N(2<=N<=1000);第4行至第N+3行为N棵树的坐标(横纵坐标均为整数,范围为:-1000--1000)。(同一行的整数间用空格分开)输出格式:输出文件monkey.out包括一个整数,表示可以在这个地区的所有树冠上觅食的猴子数。输入输出样例
输入样例#1:41 2 3 4
6
0 0
1 0
1 2
-1 -1
-2 0
2 2输出样例#1:3说明【数据规模】对于40%的数据,保证有2<=N <=100,1<=M<=100对于全部的数据,保证有2<=N <= 1000,1<=M=500本题只要把两个点之间的距离算出来,一边Kruskal,记录下最大的边,和每只猴子的跳跃距离比较一下,如果跳跃距离大就ans++。Code:
#include <cstdio>
#include <cmath>
#include <algorithm>
#include<iostream>
using namespace std;
int n,m,cnt,ans;
int x[1005],y[1005],fa[1005],monkey[1005];
struct Node{int x;int y;double dis;
}a[1000005];
inline int Find(int i){if(fa[i]==i)return i;return fa[i]=Find(fa[i]);
}
inline void Union(int x,int y){int f1=Find(x);int f2=Find(y);if(f1!=f2)fa[f1]=f2;return;
}
inline bool cmp(Node a,Node b){if(a.dis==b.dis)return a.x<b.x;return a.dis<b.dis;
}
int main(){scanf("%d",&m);for(register int i=1;i<=m;i++)scanf("%d",&monkey[i]);scanf("%d",&n);for(register int i=1;i<=n;i++)fa[i]=i;for(register int i=1;i<=n;i++)scanf("%d%d",&x[i],&y[i]);for(register int i=1;i<=n;i++)for(register int j=1;j<i;j++){a[++cnt].x=i;a[cnt].y=j;a[cnt].dis=(double)sqrt((double)(x[i]-x[j])*(double)(x[i]-x[j])+(double)(y[i]-y[j])*(double)(y[i]-y[j]));}sort(a+1,a+cnt+1,cmp);int d=0,k=0;for(register int i=1;i<=cnt;i++){if(Find(a[i].x)!=Find(a[i].y)){Union(a[i].x,a[i].y);d=a[i].dis;}}for(register int i=1;i<=m;i++)if(monkey[i]>=d)ans++;printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/ukcxrtjr/p/11188611.html

P2504 聪明的猴子相关推荐

  1. P2504 [HAOI2006]聪明的猴子 题解

    P2504 [HAOI2006]聪明的猴子 题解 题目 链接 字面描述 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 提示 思路 代码实现 题目 链接 https://ww ...

  2. BZOJ 2429: [HAOI2006]聪明的猴子【最小生成树】

    2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec Memory Limit: 128 MB Description 在一个热带雨林中生存着一群猴子,它们以树上的果子为生 ...

  3. bzoj 2429: [HAOI2006]聪明的猴子(最小生成树)

    2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1570  Solved: 902 [Submit][St ...

  4. 洛谷p2504 HAOI2006 聪明的猴子

    [题目描述] 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着, 猴子不会游泳,但跳跃能力比较强,它们仍然可以在露出水面的部分植物 ...

  5. [BZOJ2429][HAOI2006]聪明的猴子(最小生成树)

    性质:最小生成树上任意两点间的最大边权,一定是这两点间所有路径的最大边权中最小的.证明显然. 1 #include<cstdio> 2 #include<cstring> 3 ...

  6. 有多少游客被峨眉山的猴子亲过脸?

    来源|不相及研究所 ID|buuuxiangji 作者|发财金刚 不少游客都是去过峨眉山之后,才发现网上的传言是真的,那里的灵猴比山顶的普贤能更快还愿. 单身的去祈求姻缘,还没等下山,初吻就没了. 即 ...

  7. python猴子分桃问题_用python实现【五猴分桃】问题

    转载链接:https://blog.csdn.net/cy309173854/article/details/78296839 据说"五猴分桃"问题最先是由大物理学家狄拉克提出来的 ...

  8. 用ChatGPT讲一个关于猴子的故事

    今天让ChatGPT编了一个小猴子的故事,效果还不错. 首先设置目标: Goal 1: 讲一个关于猴子的故事 Goal 2: 童话故事 Goal 3: 寓言 Goal 4: 讲给小朋友听的 Goal ...

  9. python猴子分桃_用python实现【五猴分桃】问题

    转载链接:https://blog.csdn.net/cy309173854/article/details/78296839 据说"五猴分桃"问题最先是由大物理学家狄拉克提出来的 ...

  10. week10(图论2)

    Week10 图论2 10-1 Einstein学画画 题目链接 解题思路 10-2 合根植物 题目链接 解题思路 10-3 奶酪 题目链接 解题思路 10-4 灾后重建 题目链接 解题思路 10-5 ...

最新文章

  1. SQL SERVER全面优化-------写出好语句是习惯
  2. laravel中及其常用的一些函数方法(自己看)和技巧(不断添加中)
  3. 数据库事务的隔离级别简单总结
  4. boost::mpl模块实现if相关的测试程序
  5. 问题:pom文件飘红, parent.relativePath
  6. 【李宏毅机器学习】Tips for Deep Learning(p14) 学习笔记
  7. 【算法】剑指 Offer 22. 链表中倒数第k个节点
  8. 知识管理系统Data Solution研发日记之七 源代码与解决方案
  9. 宇宙质量估算为10^53KG
  10. Python图像处理](2)---图像融合、加法运算及图像类型转换、图像缩放、图像旋转、图像翻转与图像平移
  11. 别做正常的傻瓜---奚恺元 随记2017-12-6周三
  12. 微信公众平台一直限制配置失败-106
  13. linux 密码字典生成,Linux下的字典生成工具Crunch 创造自己的专属字典
  14. python--列表、数组扁平化
  15. win10设备管理没有android,win10电脑不能识别安卓设备怎么解决?
  16. Logit-Probit:非线性模型中交互项的边际效应解读
  17. 想从事次世代游戏角色建模,该如何学好人体和五官的雕刻?
  18. 硕士论文查重率是多少?
  19. c语言阿拉伯数字转大写,c++阿拉伯数字转化为中文大写
  20. html显示下滑线,html超链接添加下划线

热门文章

  1. 建行网银登录密码被盗,然后遭遇电话诈骗
  2. JVM 宋红康版 : JVM与Java体系结构
  3. VS 2015 设置为透明主题
  4. 海外问卷调查项目分为哪几种?
  5. java 象棋 论文_java象棋论文
  6. Word 题注重新编号
  7. 火线安全:Log4j2 史诗级漏洞波及全球6万+开源软件
  8. 达梦DM7数据库服务启动异常,管道文件已存在,DmAPService dead but pid file exists
  9. 3d游戏设计读书笔记三
  10. 计算机考研833大纲,考研833之计算机组成与系统结构提纲