NY 题目6 喷水装置(一)(贪心问题)
2015-07-31 14:00
274 查看
喷水装置(一)
时间限制:3000 ms | 内存限制:65535 KB难度:3
描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。
输入第一行m表示有m组测试数据
每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。输出输出所用装置的个数样例输入
2 5 2 3.2 4 4.5 6 10 1 2 3 1 2 1.2 3 1.1 1 2
样例输出
2 5
*********************************************************************************************************************
*********************************************************************************************************************
AC代码
#include<stdio.h> #include<math.h> #include<string.h> #include<algorithm> #include<iostream> using namespace std; bool cmp(double x,double y) { return x>y; } double f(double x) { double t; t=2*sqrt(x*x-1*1); return t; } int main() { int m,n; double a[666]; scanf("%d",&m); while(m--) { double l=0; int k=1; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%lf",&a[i]); sort(a,a+n,cmp); for(int i=0;i<n;i++) { l=l+f(a[i]); if(l<20) k++; else break; } printf("%d\n",k); } }
相关文章推荐
- 教你用报表工具搭建企业考核系统
- Be cautious when using Map and Set in Java
- [数据结构] Set的基本用法
- JS格式化时间
- 创建powershell模块
- Redis01初识
- mssoap与gsoap访问WebService的使用
- *Delphi中ExtractFilePath、ParamStr以及更多文件/目录操作涉及的函数。附加对应的例子
- iOS 文件操作
- 升级Windows 10的用户,基本都吃了这个哑巴亏
- OSI七层模型 以及 TCP/IP模型
- perl中写数组的最值
- hdu 1166 敌兵布阵
- BZOJ2570:算符破译题解
- [转]Centos7.0网络自动启动
- 最强开发资源平台大合集
- 移动H5前端性能优化指南
- ZTD 简单做十个好习惯总结
- 短信接收
- mysql存储过程-递归赋值国家地区