【南阳ACM】 喷泉装置(一)
对于南阳理工的喷泉装置一题,我用了sort函数的升序排序:
题目:
喷水装置(一)
时间限制: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
题中说:“一定能把草坪全部湿润”,所以不用担心数据范围过小等淋不湿草坪的问题。
下面分析一下解题过程:
从图中能分析出当d1,d2,d3.....等取得最大值时需要的圆最少。而限制条件为矩形的长度,现在需要做的就是将圆按从大到小排列。知道各个圆的2*d之和大于等于20.
下面附上代码:
#include<iostream>
#include<cmath> //sqrt开平方函数的头文件;
#include<algorithm> //sort函数头文件;
using namespace std;bool cmp(int a,int b) //调用sort函数时,使数组从大到小排列;
{return a>b;
}
int main()
{int m,n,i;double r[605],s;cin>>m;while(m--){s=0;cin>>n;for(i=0;i<n;i++){cin>>r[i]; //输入n个圆的半径;r[i]=2.0*sqrt(r[i]*r[i]-1); //将每个圆能润湿的最大宽度d再次赋给之前所定义的圆的半径;}sort(r,r+n,cmp); //调用sort的升序排序函数;for(i=0;i<n;i++){s+=r[i]; //s的值为各个圆所能润湿的最大宽度d之和。当然前提为各圆润湿的两边的弦长为2;if(s>=20) break; //判断条件;}cout<<i+1<<endl; //输出需要的圆的个数;}return 0;
}
题到这里就OK啦。。有什么不对就请直言啦~
【南阳ACM】 喷泉装置(一)相关推荐
- 喷泉装置(贪心问题)
喷水装置(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为 ...
- 三个数从小到大排序—南阳acm
问题描述: 现在要写一个程序,实现给三个数排序的功能 输入 输入三个正整数 输出 给输入的三个正整数排序 样例输入 20 7 33 样例输 ...
- 南阳ACM 题目722 数独
数独 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 数独是一种运用纸.笔进行演算的逻辑游戏.玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行. ...
- 南阳acm—题目11
描述 有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出. 输入 第一行有一个整数i(2<=i<30)表 ...
- 网内计算:可编程数据平面和技术特定应用综述
网内计算:可编程数据平面和技术特定应用综述 摘要--与云计算相比,边缘计算提供了更靠近终端设备的处理,降低了用户体验的延迟.最新的In-Network Computing范例采用可编程网络元素在数据达 ...
- 南阳师范学院ACM集训队博客使用方法
南阳师范学院ACM集训队博客使用方法 为方便大家交流,我们使用的是同一个用户名和密码,所以请不要随意修改用户名和密码,不然大家都登不上了,谢谢! 首先进入主页:http://www.cnblogs.c ...
- java起源英文_Abbreviation 英文词组缩写(来源:南阳理工大学ACM)java
As we know, we often use a short sequence of characters in place of some words with a very long name ...
- 2022南阳理工计科ACM计科TC招新热身赛题解
这真的是一场模拟赛. 这场比赛整体难度不是很难,有很多都是签到题,并且还有一些题是之前题的变形,大家可以看一下题解去找一下自己比赛时哪一些是没有想明白,或者没办法实现的思路是怎么去实现的 思路是一方面 ...
- 南阳理工ACM 题4《ASCII码排序》
4-ASCII码排序 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:76 submit:115 题目描述: 输入三个字符(可以重复)后,按各字符的A ...
最新文章
- 读写测试_UFS3.0手机闪存测试曝光 读写速度足以秒杀超极本!
- 游戏开发--开源21---CroftSoft Code Library |Gibdo|JOGR...
- 新的MOVE结构,和在项目中实际的感受
- Android调试工具_ Stetho
- 201110阶段二qt事件
- UrlEncode编码算法
- 22届腾讯暑期实习三轮面试面经(已oc)
- des 向量 java_在JAVA中使用DES算法
- 构造函数能默认初始化其静态成员么?
- Linux下安装MySQL数据库、禅道
- 通信网中的数据报子网和虚电路子网
- hrbust 1041(并查集)
- JavaScript 3D 散点图
- 利用JDK发布webService实例
- Smobiler-ListView
- 万能ABAP程序修改器
- js中的生成器函数Generator
- 阿里云服务器租赁注意点
- 水溶性花青素连接剂1617497-19-4,diSulfo-Cyanine5 alkyne,二磺酸花青素Cy5炔基
- 计算机专业答辩系统抄袭怎么办,计算机毕业设计答辩怎么老是不过?