喷水装置(一) 贪心
来源:互联网 发布:数控铣创意图案编程 编辑:程序博客网 时间:2024/05/22 15:09
- 输入
- 第一行m表示有m组测试数据
每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。 - 输出
- 输出所用装置的个数
- 样例输入
252 3.2 4 4.5 6 101 2 3 1 2 1.2 3 1.1 1 2
- 样例输出
25
分析:
要想使得使用喷头使用最少,那就需要先尽可能的使用辐射范围比较大的喷头,那么覆盖的范围就大
先将半径从大到小排序。由图可知:
草坪的长度为20,要想全部将草坪全部湿润,那么就要将辐射范围在水平方向上的 数累加,当大于20的时候,就全部湿润,如l1*2就是半径为r1的喷头所能在水平方向上喷射的最远距离
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <set>#include <map>#include <stack>#include <string>using namespace std;int cmp(double a,double b){return a > b;}double Tri(double a,double b){ return sqrt(a*a-b*b);}int main(){ int m; cin >> m; while(m--) { int n; cin >> n; vector<double>v(n); double tmp; for(int i = 0;i < n;i++) { cin >> tmp; v.push_back(tmp); } sort(v.begin(),v.end(),cmp); double sum = 0; for(int i = 0;i < v.size();i++) { sum += 2.0*Tri(v[i],1.0); if(sum > 20) { cout << i+1 << endl; break; } } }return 0;}
阅读全文
0 0
- 喷水装置(一)【贪心】
- 喷水装置(一)【贪心】
- 喷水装置(一) 贪心
- 喷水装置(一) (贪心)
- 一.贪心算法 喷水装置(一)
- NYOJ 喷水装置(一) (贪心)
- 喷水装置(一)(贪心)
- 喷水装置(一)(贪心)
- 喷水装置(一)(贪心)
- 【喷水装置(一) 6 贪心】
- NYoj-喷水装置(一)贪心算法
- nyoj 6 喷水装置(一)【贪心】
- nyoj 6 喷水装置(一)【贪心】
- 初试贪心nyoj6喷水装置(一)
- NYOJ 6 喷水装置(一)【贪心】
- NYOJ 6 喷水装置(一) (贪心)
- nyoj 6 喷水装置(一) (贪心)
- 喷水装置(一)t贪心算法
- Qt网络编程--HTTP服务器(四)
- 爬虫与反爬虫之间的战争
- Shrio认证详解+自定义Realm
- 两个好用的chrome拓展程序以及开发chrome拓展程序介绍
- Fragment 简介及应用汇总
- 喷水装置(一) 贪心
- SpringMVC整合Redis2.9.0
- Java中eclipse再安装问题
- 机器学习笔记第二课
- Oracle Flashback技术
- 3-5 三角形判断
- 蓝牙入门代码
- 理解最大似然估计
- 网络接口配置——bonding