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

打卡信奥刷题(3265)用C++实现信奥题 P8733 [蓝桥杯 2020 国 C] 补给

P8733 [蓝桥杯 2020 国 C] 补给

题目描述

小蓝是一个直升飞机驾驶员,他负责给山区的nnn个村庄运送物资。

每个月,他都要到每个村庄至少一次,可以多于一次,将村庄需要的物资运送过去。

每个村庄都正好有一个直升机场,每两个村庄之间的路程都正好是村庄之间的直线距离。

由于直升机的油箱大小有限,小蓝单次飞行的距离不能超过DDD。每个直升机场都有加油站,可以给直升机加满油。

每个月,小蓝都是从总部出发,给各个村庄运送完物资后回到总部。如果方便,小蓝中途也可以经过总部来加油。

总部位于编号为111的村庄。

请问,要完成一个月的任务,小蓝至少要飞行多长距离?

输入格式

输入的第一行包含两个整数nnnDDD,分别表示村庄的数量和单次飞行的距离。

接下来nnn行描述村庄的位置,其中第iii行两个整数xix_ixiyiy_iyi分别表示编号为iii的村庄的坐标。村庄iii和村庄jjj之间的距离为(xi−xj)2+(yi−yj)2\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}(xixj)2+(yiyj)2

输出格式

输出一行,包含一个实数,四舍五入保留正好222位小数,表示答案。

输入输出样例 #1

输入 #1

4 6 1 1 4 5 8 5 11 1

输出 #1

28.00

说明/提示

对于所有数据,保证,1≤n≤20,1≤xi,yi≤104,1≤D≤1051\le n\le20,1\le x_i,y_i\le10^4,1\le D\le10^51n20,1xi,yi104,1D105

蓝桥杯 2020 年国赛 C 组 I 题。

C++实现

#include<bits/stdc++.h>usingnamespacestd;intn,d;doubleans=DBL_MAX,x[25],y[25],dp[1<<20][25],dis[25][25];boolvis[25];doublejl(inta,intb){returnsqrt((x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b]));}intmain(){memset(dp,0x7f,sizeofdp);memset(dis,0x7f,sizeofdis);cin>>n>>d;for(inti=0;i<n;i++)cin>>x[i]>>y[i];for(inti=0;i<n;i++)for(intj=0;j<n;j++)if(jl(i,j)<=d)dis[i][j]=jl(i,j);for(inti=0;i<n;i++)for(intj=0;j<n;j++)for(intk=0;k<n;k++)dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);dp[1][0]=0;for(inti=1;i<(1<<n);i++){for(intj=0;j<n;j++){if(!((i>>j)&1))continue;inttmp=i^(1<<j);for(intk=0;k<n;k++){if(!((tmp>>k)&1))continue;dp[i][j]=min(dp[i][j],dp[tmp][k]+dis[j][k]);}}}for(inti=1;i<n;i++)ans=min(ans,dp[(1<<n)-1][i]+dis[i][0]);printf("%.2lf",ans);return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/823389/

相关文章:

  • DeepSeek不是没偏见,是你没测对——资深NLP架构师亲授:用真实业务Query还原3类高危偏见场景(含脱敏案例库)
  • 2026年4月可靠的防水板厂商口碑推荐,椰丝毯/复合膜/树脂管/尼龙管/防草布/水泥毯/防水板/防渗膜,防水板厂家找哪家 - 品牌推荐师
  • CircuitPython嵌入式图片幻灯片:从BMP处理到交互控制的完整实践
  • 手把手教你:在SIMetrix 8.3中,如何把厂商SPICE网表变成可用的MOS管模型(以Nexperia PMH550UNE为例)
  • 2026年别墅仿石漆代理商怎么选:核心选型标准与主流品牌深度解析 - 产业观察网
  • Vue.js 监听属性
  • 2026届学术党必备的十大AI学术工具推荐榜单
  • 从VAE到GMVAE:手把手拆解损失函数,搞懂每个KL散度项到底在优化什么
  • CircuitPython开发板USB连接与文件系统故障排查指南
  • 从水平到旋转:Oriented R-CNN如何革新任意方向目标检测
  • 使用 Taotoken 后 API 调用延迟与稳定性体验分享
  • 2026年内墙仿石漆代理商哪家好:主流合作品牌实力解析与选型参考 - 产业观察网
  • 如何轻松解码微信QQ语音文件:silk-v3-decoder完整使用指南
  • 2026年|10款降AI工具怎么选?亲测避坑指南,附免费降ai率工具 - 降AI实验室
  • 告别‘鬼影’与‘坏点’:手把手教你用OpenCV4.0复现Google Pixel 2的实时视频降噪算法
  • fre:ac音频转换器:免费跨平台的终极音频处理解决方案
  • AES换成SM4就够了吗?国密算法迁移踩坑实录,附SM4/SM2完整代码和等保自查清单
  • 观察使用 Taotoken Token Plan 后月度 AI 成本的变化趋势
  • FPSLocker终极指南:解锁Nintendo Switch帧率自定义的完整探索
  • 边缘AI机械爪抓取软体物体:从模仿学习到强化学习的实战解析
  • OpenMC多群截面计算精度优化:传输修正技术深度解析与5种工程实践方案
  • FPGA/数字IC面试必刷:Verilog里‘12‘hx’和‘16‘sz?’这种常量到底怎么算?
  • 手把手教你搞定Apple MFI证书申请与Token生成(附避坑指南)
  • 保姆级教程:在Windows 10/11上从零搭建Mosquitto MQTT服务器(含用户认证与端口配置)
  • 西咸新区沣东新城优卓越制冷:西安中央空调安装哪个好 - LYL仔仔
  • 在ubuntu上使用taotoken api key实现精细化的访问控制与审计
  • 2026届毕业生推荐的AI论文平台推荐
  • 如何用Diablo Edit2打造暗黑破坏神II完美角色:终极免费角色编辑器使用指南
  • 【终极解决方案】OpenRGB:3步搞定跨平台RGB灯光统一管理的高效指南
  • Parabolic视频下载神器终极指南:200+网站支持的一站式解决方案