当前位置: 首页 > news >正文

【CSP-J模拟题 】 附详细讲解

题目描述

在一条数轴上有 NN 个村庄,每个村庄的位置是一个整数。

每个村庄的“邻域”定义为:数轴上所有离这个村庄比离其他任何村庄都近的点。若某个点与两个村庄等距,则同时属于两个村庄的邻域。

对于最左和最右的村庄,邻域大小视为无限大。

对其他村庄,邻域大小等于其左边界和右边界之间的距离。

求所有具有有限邻域的村庄中,最小的邻域大小,结果保留一位小数。

输入格式

第一行一个正整数 NN ,表示村庄数量。

第二行 NN 个互不相同的正整数 aiai​ ,表示村庄坐标。

输出格式

输出一个浮点数表示最小邻域大小,保留一位小数。

输入输出样例

输入#1

输出#1

5
16
0
10
4
15
3.0

说明/提示

对于 40% 的数据,N≤5 N≤5 。

对于 60% 的数据,N≤100 N≤100 。

对于 100% 的数据,3≤N≤10^5,0≤ai≤1093≤N≤10^5,0≤ai​≤10^9 。

思路+代码  超详细

万能头  (人机不用)
命名空间 
也称“名称空间” 。是许多编程语言使用的一种代码组织的形式,通过命名空间来分类,区别不同的代码功能,
避免不同的代码片段(通常由不同的人协同工作或调用已有的代码片段)同时使用时由于不同代码间变量名相同而造成冲突。
定义变量与数组  n: a数组长度 a数组:存村庄坐标
定义double变量mn寻找最小值
定义主函数
用cin输入n
用for循环n次 输入a数组
输入a数组第i个
对应for循环
利用头文件自带函数sort进行对a数组1的排序
用for循环n-2次 输入a数组
a[0]和a[n]的邻域无限大,不计入
定义变量y存第i个村子的邻域大小
y除2
用if判断如果mn大于y
则让m变为y
对应if
对应for循环
利用printf保留一位小数输出
返回值 0
对应主函数

代码

#include<bits/stdc++.h>//万能头  (人机不用)
using namespace std;//命名空间 
//也称“名称空间” 。是许多编程语言使用的一种代码组织的形式,通过命名空间来分类,区别不同的代码功能,
//避免不同的代码片段(通常由不同的人协同工作或调用已有的代码片段)同时使用时由于不同代码间变量名相同而造成冲突。
int n,a[10005];//定义变量与数组  n: a数组长度 a数组:存村庄坐标
double mn=999999;//定义double变量mn寻找最小值
int main(){//定义主函数cin>>n;//用cin输入nfor(int i=0;i<n;i++){//用for循环n次 输入a数组cin>>a[i];//输入a数组第i个}//对应for循环sort(a,a+n);//利用头文件自带函数sort进行对a数组1的排序//for(int i=0;i<n;i++)cout<<a[i]<<" ";//cout<<endl;for(int i=1;i<n-1;i++){//用for循环n-2次 输入a数组//a[0]和a[n]的邻域无限大,不计入double y=(a[i]-a[i-1]+a[i+1]-a[i]);//定义变量y存第i个村子的邻域大小y=y/2;;//y除2if(mn>y){//用if判断如果mn大于ymn=y;//则让m变为y//cout<<i<<" "<<y<<" "<<mn<<endl;}//对应if//mn=min(mn, (a[i]-a[i-1])/2);//double用不了}//对应for循环printf("%.1f",mn);//利用printf保留一位小数输出return 0;//返回值 0
}//对应主函数

http://www.dtcms.com/a/393316.html

相关文章:

  • FPGA内实现FIR 抽取滤波器设计
  • 【proteus绿灯5s红灯10s三数码管数字切换电路】2022-12-12
  • 团队任务分配管理软件平台对比测评
  • 集成学习智慧:为什么Bagging(随机森林)和Boosting(XGBoost)效果那么好?
  • 计算机英语缩写
  • 国轩高科校招社招网申线上测评笔试题库结构说明书(适用于研发/工程/职能全部岗位)
  • 3.2.10 虚拟内存管理 (答案见原书 P238)
  • 算法 --- BFS 解决最短路问题
  • Photoshop蒙版的操作
  • cocos shader敌人受到攻击改变颜色
  • cd论文精读
  • USBD_malloc 禁止替换成 malloc 函数
  • 功能测试与测试用例设计方法详解
  • AXI DMA
  • 1:1复刻真实场景,机器人训练不再“纸上谈兵”
  • CMake快速上手:编译、构建与变量管理(包含示例)
  • vscode配置C/C++教程(含常见问题)
  • F021 五种推荐算法之美食外卖推荐可视化系统vue+flask
  • C++学习记录(10)模板进阶
  • cesium案例:三维钢铁厂园区开发平台(附源码下载)
  • 电商开放平台API接口对比爬虫的优势有哪些?
  • SpringDoc-OpenApi 现代化 API 文档生成工具介绍+使用
  • 打造现象级H5答题游戏:《终极主题答题冒险》开源项目详解
  • 实验1.2呼吸灯实验指导书
  • 实验1.3通过for循环精确定时呼吸灯
  • 【c++】多态(一)
  • 01、Python从入门到癫狂:基础
  • uniapp 弹窗
  • 17.2 《16小时→2.3小时!多模态AI颠覆PPT制作:跨国企业实战验证》
  • MyBatis 从入门到实战:环境搭建与核心原理详解