描述

现有一块草坪,长为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<algorithm>
#include<math.h>
using namespace std;
bool cmp(double a,double b){return a>b;
}
int main(){int m;double a[1010];scanf("%d",&m);while(m--){int n,i,cnt=0;scanf("%d",&n);for(i=0;i<n;i++)scanf("%lf",&a[i]);sort(a,a+n,cmp);double sum=0;i=-1;while(20-sum>0){double len=2*sqrt(a[++i]*a[i]-1);sum+=len;cnt++;}printf("%d\n",cnt);}return 0;
}

NYOJ--6--喷水装置(一)相关推荐

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

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

  2. NYOJ 12 喷水装置(二)

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

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

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

  4. NYOJ 6 喷水装置(一)

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

  5. 三类基于贪心思想的区间覆盖问题

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

  6. 喷水装置(一)--nyoj题目6

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

  7. NYOJ 喷水装置(一)

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

  8. NYOJ 30 Gone Fishing JAVA+解析

    Gone Fishing这道题目运用的多次折合成一次这种思想我首次见,我想的一个思路是,每次算一下鱼量和时间代价比,这个代码我没有敲,下面的代码是一位仁兄敲得,我研读了一下,做了一个注释,应该有利于后 ...

  9. Manacher算法 , 实例 详解 . NYOJ 最长回文

    51 Nod http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1089 Manacher 算法 定义数组 p[i]表示以i为 ...

  10. NYOJ 527 AC_mm玩dota

    AC_mm玩dota 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 大家都知道AC_mm比较喜欢玩游戏,特别是擅长war3这款经典游戏.某天AC_mm来到了VS平台上 ...

最新文章

  1. python三十二:os模块
  2. 【AI初识境】如何增加深度学习模型的泛化能力​​​​​​​
  3. Ruby和SHELL中如何遍历指定目录的文件
  4. CodeForces - 1486B Eastern Exhibition(二维中位数)
  5. 图解 Python 深拷贝和浅拷贝
  6. Qt使用invokeMethod反射机制实现进程间的通信
  7. PHP自学3——在html的table标签中显示用户提交表单
  8. JNI_Android项目中调用.so动态库实现详解【转】
  9. leetcode-3-Longest Substring Without Repeating Characters
  10. 80个超详细的Python入门实例
  11. 激光打印机与计算机相连,Hp laserjet1010打印机怎么连接电脑使用?
  12. 2022年第五届全国青少年人工智能创新挑战赛
  13. 【四大名企】5月27日18点,惟客数据、环信、融云、文因互联带着岗位来招人啦
  14. Unity chan下载
  15. 学车笔记(科目二——总结)
  16. 操作系统之线程和进程
  17. 【数据库实验】实验四 基于嵌入SQL的综合应用编程(基于QSqlTableModel实现)
  18. 邮件系统排名中企业邮箱有何优势,163邮箱能发国外邮件吗?
  19. mdadm 创建md 删除md步骤
  20. 汽车常用连接器接口定义

热门文章

  1. “ 鸡尾酒会问题”(cocktail party problem)
  2. httpsession 是一样的吗_理解HTTP session原理及应用
  3. 东北大学计算机学院拟录取分数线,东北大学全国各省各专业录取分数线汇总!(含艺术类)...
  4. matlab帕累托分布函数,matlab 进行广义的帕累托参数估计
  5. table列最小宽度 vue_Vue组件设计 - 先别管view
  6. C语言结构体定义 typedef struct
  7. Flutter进阶第12篇: 检测应用版本号、服务器下载文件以及实现App自动升级、安装
  8. JavaWeb—如何判断用户使用的是什么浏览器
  9. 创造型——简单工厂模式
  10. PHP之SimpleXML函数