导游的魔棒

2024-01-29 19:58
文章标签 导游 魔棒

本文主要是介绍导游的魔棒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description

小C“五一”节参加了五星旅行社组织的一次外出旅游,这次旅游中,小C遇到一件非常有趣的事: 五星旅行社的导游小张有一根魔棒,这根魔棒在每一次的旅游中可以产生一次魔力(也只能产生一次魔力),这魔力可以使两个景点间的距离减成原来的一半。小C在“五一”节的这次旅游中,很有幸是小张导游作为他们的导游,小张当然也没有忘记带他的魔棒,因为他可以发挥魔棒的作用,使路程减少呢。这次旅游中,去了一个有N个景点的旅游区,这个旅游区只有一个入口,在景点编号为1的地方,一个出口,在景点编号为N的地方,景点编号为1,2,3,…,N。在入口处有一个N×N的数据阵,描述了景点间的距离,a[I,j]表示景点i到景点j的距离。因为小C的公司有急事要小C尽快回来,现在小C要用张导游的魔棒,使得从入口到出口的距离最短。现在我们也来编一个程序:求将哪一条边减半后使从顶点1到顶点N的最短路径长度最短,输出这个最短距离,如果找不到从1到N的路径,则输出 -1 。

Input

从文件中c.in读入数据,文件第一行是一个正整数N(3 ≤ N ≤ 50),表示共有N个点,接下来是一个N行N列的数据阵,a[I,j]的值表示顶点i到顶点j的长度。

Output

只有一个数就是将一条边长减半后的从1到N的最短路径长度,结果四舍五入到小数后两位,如果找不到从1到N的路径,则输出 -1 。

Sample Input

3
0 5 20
5 0 8
20 8 0
Sample Output

9.00

.
.
.
.
.
分析
a[i][j][0/1]表示i走到j 没用/用了 将边减半的最短距离
然后floyd

.
.
.
.
.
程序:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;int n;
double a[100][100][2];int main()
{freopen("c.in","r",stdin);freopen("c.out","w",stdout);scanf("%d",&n);for (int i=1;i<=n;i++)for (int j=1;j<=n;j++){double x;scanf("%lf",&x);if (x==0) a[i][j][0]=a[i][j][1]=2147483647; else {a[i][j][0]=x;a[i][j][1]=x/2;}}for (int k=1;k<=n;k++)for (int i=1;i<=n;i++)for (int j=1;j<=n;j++){a[i][j][0]=min(a[i][j][0],a[i][k][0]+a[k][j][0]);a[i][j][1]=min(a[i][j][1],a[i][k][1]+a[k][j][0]);a[i][j][1]=min(a[i][j][1],a[i][k][0]+a[k][j][1]);}if (a[1][n][1]!=2147483647) printf("%0.2lf",a[1][n][1]); else printf("-1");fclose(stdin);fclose(stdout);return 0;
}

这篇关于导游的魔棒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/658023

相关文章

基于SSM的在线预约导游系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SSM的在线预约导游系统,java项目。 eclipse和idea都能打开运行。 推荐环境配置:eclipse/idea jdk1.8 m

蓝桥杯2023(十四届)省赛——景区导游(最近公共祖先LCA)

景区导游(最近公共祖先) 1.景区导游 - 蓝桥云课 (lanqiao.cn) 本来一开始想用Floyd算法,看看能不能水个分的,但是实际上,居然运行错误呜呜呜呜。 但是实际上和我一开始分析的是一样的,最近公共祖先。但是我看题解上可以使用dfs暴力搜出来,我想试试。 来总结一下这道题的核心:树中两个节点之间的距离=二者到最近公共祖先的距离之和,所以,我们需要知道最近公共祖先是哪个。这里还有

android实现PhotoShop里的魔棒效果

魔棒是画板工具一个重要的功能,非常实用,只要轻轻一点,就能把触摸到的颜色区域选中,做复制、剪切、擦除等工作。 那怎么实现呢? 先来看看效果: 要实现这个效果,需要对安卓canvas和paint理解比较深才行。 原理: 1、获取画板上用户触摸点的颜色, bitmap.getPixel; 2、根据目标色对画布进行检索,符合容差范围内的像素纳入到选区内。上下左右4个方向检索,检索到连

通天塔导游:各种编程语言优缺点

英文原文:Tour De Babel,翻译:baohao (译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化将人类的语言复杂化,不如说是人类自身心灵和谐不再的分崩离析。之所以后来有了翻译,不仅是为了加强人类之间的交流,更寄达了一种愿望,希望能以此

抠图新境界:PS魔棒工具智能化使用技巧,轻松一键完成抠图!

作为一名设计师,在日常工作中,他或多或少会遇到需要取出照片中的人物、商品图案或任何主题,并将其贴在其他背景图片上,这通常需要PS魔棒工具来实现。因此,学会使用PS魔棒工具是新手设计师必须掌握的技术。那么,PS魔棒工具应该如何实现挖掘呢?如何更容易地完成PS魔棒工具的挖掘?以下是PS魔棒工具挖掘的详细步骤。 在线PS网页版,一键免费抠图 一般来说,如果你想使用PS棒工具挖掘,你必须首先在你的电脑

java/php/node.js/python智能导游APP【2024年毕设】

本系统带文档lw万字以上 文末可领取本课题的JAVA源码参考 开发环境 开发语言:Java 框架:ssm 技术:ssm+vue JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7或8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器:建议谷歌浏览器或edge

魔棒:手机智能无人直播软件多少钱?

无人直播因为直播门槛低,不需要真人出镜,不需要请主播,加上可以24小时直播卖券,效果出奇的好,一时很受广大商家的欢迎,那么,这种ai智能无人直播软件究竟多少钱呢? 当然,在目前的市面上,其实并没有很透明的价格,因为这个项目才刚刚开始,前面经历了AI数字人直播,半无人直播等等各种模式,那些模式收费都是偏高的,基本上都要大好几千,然后,就有了这种真正的智能无人直播软件,全无人的形式,采用实景直播,

基于springboot+vue的桂林旅游景点导游平台(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 感兴趣可

数据结构课程设计之项目二---校园导游咨询

目录 问题描述 基本要求 问题分析 逻辑设计 物理设计 存储结构 总结 问题描述 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 基本要求 1. 设计你所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 2. 为来访客人提供图中任意景点相关信息的查询。 3.

基于Spring Boot框架的在线导游预约系统

源码获取:私聊回复【SpringBoot、导游预约】获取 更多选题参考: Java练手项目 & 个人学习等选题参考 文章目录 前言一、背景及意义1、编写目的2、项目背景3、程序描述4、主要系统功能(分角色介绍)游客功能导游功能管理员功能 二、总体设计1、需求规定2、运行环境3、使用说明部分页面截图展示管理员模块导游模块游客模块 三、部分代码展示 前言 提示:这里可