题目描述:

现有一块草坪,长为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

思路:由于装置是放在中间的,所以半径为r的圆覆盖的长为2*sqrt(r*r-1);画个图就知道了。

代码:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int compare(const void * a, const void * b);
int main()
{
double a[600];
double r = sqrt(2.0);
double y;
int n,t;
int i;
scanf("%d",&t);
while(t--)
{
y = 20.0;
scanf("%d",&n);
for(i = 0; i < n; ++i)
scanf("%lf",&a[i]);
qsort(a,n,sizeof(double),compare);
i = 0;
while(y > 0 && i < n)
{
y -= 2 * sqrt(a[i] * a[i] - 1.0);
++i;
}
printf("%d\n",i);
}
}
int compare(const void *a, const void *b)
{
//降序排列
double *p1 = (double *)a;
double *p2 = (double *)b;
if(*p2 - *p1 > 0.00001)
return 1;
else if(*p2 - *p1 < -0.00001)
return -1;
else
return 0;
}

NYOJ6——喷水装置(一)(贪心)相关推荐

  1. NYOJ6——喷水装置(一)

    喷水装置(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3  描述:现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它 ...

  2. 提高篇 第一部分 基础算法 第1章 贪心算法

    一本通提高篇在线提交地址 一本通提高篇在线提交地址_老象的专栏-CSDN博客 [ 贪心 进阶总结 ][ 来自一本通提高篇 ] [ 贪心 进阶总结 ][ 来自一本通提高篇 ]_violinwang-CS ...

  3. 算法训练一(贪心、二分)(含解题思路)(上)

    目录 7-1最少失约(贪心) AC代码: 7-2删数问题(贪心) 7-3区间覆盖(贪心) AC代码: 7-7加油站之最小加油次数(贪心+优先队列) AC代码: 7-8求解删数问题(贪心) AC代码: ...

  4. 贪心算法之——喷水装置一(nyoj6)

    描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1& ...

  5. 贪心算法之——喷水装置二(nyoj12)

    题目描述: 喷水装置(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000) ...

  6. 基于贪心算法的几类区间覆盖问题 nyoj 12喷水装置(二) nyoj 14会场安排问题...

    1)区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖 样例: 区间长度8,可选的覆盖线段[2,6],[1, ...

  7. NYOJ6 之喷水装置(一)

    http://acm.nyist.net/JudgeOnline/problem.php?pid=6 java1: 主要用到贪心算法. 由题目很明显可以得出只要是半径大于1的喷水装置都是可以被选中的, ...

  8. NYOJ-6:喷水装置(一)

    描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1& ...

  9. NYOJ 6 喷水装置(一) 贪心算法 之 区间覆盖问题

    喷水装置(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为 ...

最新文章

  1. Redis源码解析——双向链表
  2. 后悔没早知道这些Python特性
  3. java中的数据库事务处理
  4. 遇到一个由于事务控制不当造成错误的Bug
  5. 【小练习02】CSS--网易产品
  6. 从函数计算架构看 Serverless 的演进与思考
  7. h3csnmp管理命令_H3C S5500V2-EI系列以太网交换机 命令参考-Release 1118-6W100_网络管理和监控命令参考_SNMP命令-新华三集团-H3C...
  8. winform代码生成器(三)
  9. zoom 用户被锁定_重新考虑Zoom的用户体验
  10. 功能Java示例 第5部分–将I / O移到外部
  11. 安装软件包的三种方法 ,rpm包介绍 , rpm工具用法, yum工具用法, yum搭建本地仓库...
  12. phpexcel常见问题的解决办法
  13. 【转】VB代码VB小程序:宇宙大爆炸演示
  14. 基于Stm32F746g_disg平台下移植zephry使用TinyML预测模型
  15. Android Textview实现文字颜色渐变效果
  16. springboot mybatis 后台框架平台 集成代码生成器 shiro 权限
  17. 在linux配置端口映射,Linux 配置端口映射
  18. php bi系统,bi系统是什么系统
  19. python分析数据的相关性_使用Python进行相关性分析
  20. 陈年咖啡豆是什么?陈年咖啡能喝吗?陈年咖啡有什么特别的?

热门文章

  1. Java基层卫生健康云源码 医院HIS信息管理系统源码
  2. python builtwith识别网站所用技术
  3. maven test的覆盖率测试
  4. SpringBoot Bean加载顺序 Order无效
  5. Failed to execute child process duplicity (No such file or directory)错误解决
  6. 【BZOJ 2823】 [AHOI2012]信号塔
  7. python主成分分析法
  8. mssql和mysql那个好_mssql与mysql的有什么区别?哪个更好用?
  9. echart横坐标太长导致坐标显示不完全(三种方法)
  10. 全套医疗预约挂号小程序+管理后台Axure高保真原型