喷水装置
来源:互联网 发布:浮云淘宝小号出售平台 编辑:程序博客网 时间:2024/04/29 17:35
喷水装置
题目描述小赛家有一块草坪,长为20米,宽为2米,妈妈要他给草坪浇水,在草坪上放置半径为Ri的喷水装置,每个喷水装置可以给以它为中心的半径为实数Ri(1<Ri<15)的圆形区域浇水。他家有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润。你能帮他计算一下,把整个草坪全部湿润,最少需要几个喷水装置。
输入
输入第一个数字为喷水装置的个数n,后面n个数字分别为n个喷水装置的半径r,r表示该喷水装置能覆盖的圆的半径。
喷水装置i的范围为:1<i<600,半径的范围为:1<Ri<15。
样例输入
5
2 3.2 4 4.5 6
输出
输出所用装置的个数。
样例输出
2
时间限制C/C++语言:1000MS其它语言:3000MS
内存限制C/C++语言:65536KB其它语言:589824KB
用到的是贪心思想
里面有一句Arrays.sort(data);
也就是将喷水装置按照半径从小到大的顺序排序
之后选择喷水装置时,从大到小选择
就能“选择尽量少的喷水装置”。
由于喷水装置的覆盖范围是个圆形,但却草坪是长方形
因此,喷水装置的有效覆盖范围只能是个长方形(图中紫色方框)
这个长方形的高是2米,宽是(√(半径*半径-1))*2米
由于整个问题中的图形都是对称的,因此只需要计算一半就行
key=10也就是草坪长度的一半
Math.sqrt(data[i]*data[i]-1)也就是有效覆盖范围的宽的一半。
0 0
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置
- 喷水装置(一)
- 喷水装置(一)
- 喷水装置(一)
- 喷水装置(一)
- 喷水装置二 nyoj12
- 喷水装置(一)
- 喷水装置(二)
- 开启idea自动Build功能
- 关联本地git仓库与Github仓库
- Launcher3源码浅析
- kodi 开源播放器的编译移植
- org.springframework.beans.factory.UnsatisfiedDependencyException异常
- 喷水装置
- JS数据结构与算法(二)
- windows下nginx安装、配置与使用
- MySQL隔离级别
- 浅谈https\ssl\数字证书
- Disgruntled Judge UVA
- CoreData的初步理解
- Vue.js的组件(四)父组件与子组件的数据联系 之 双向绑定
- JSP登录页面包括验证码的验证