【floyed】导游的魔棒

2023-11-11 18:11
文章标签 导游 floyed 魔棒

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

在这里插入图片描述


思路:

初看此题,n<=50直接用floyed写,我用了三维数组f[i][j][0/1]表示从i到j有没有用减半的最短距离,然后floyed来求最短路就好了,然后变量要开double,因为折半要除以2,会出现0.5的情况


C o d e Code Code:

#include <cstdio>
#include <iostream>
#include <cstring>
#define CWH using
#define AK namespace
#define IOI std
CWH AK IOI;
int n;
double a[100][100],f[100][100][100];//a是图
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){scanf("%lf",&a[i][j]);  if (a[i][j] == 0) {f[i][j][0] = 10010100;f[i][j][1] = 10010100;}else //要不要折半{             f[i][j][0] = a[i][j];f[i][j][1] = a[i][j] / 2;                                          }}for (int k = 1; k <= n; ++k)//floyedfor (int i = 1; i <= n; ++i)for (int j = 1; j <= n; ++j)if(i != j && i != k && j != k){f[i][j][0] = min (f[i][j][0], f[i][k][0] + f[k][j][0]);f[i][j][1] = min (f[i][j][1], f[i][k][1] + f[k][j][0]);f[i][j][1] = min (f[i][j][1], f[i][k][0] + f[k][j][1]);}if(f[1][n][1] == 10010100)printf("-1");else        //判断能否到达          printf("%.2lf",(double)f[1][n][1]);
} 

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



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

相关文章

Floyed算法练习题

**例题:**顶点个数n<=100, m条边, 两点之间的距离w<=1000,求给定两点p、 q之间的最短距离。 输入数据, 第一行4个整数n m p q, 接下来有m行, 每行三个数依次描述了一条边的起点、 终点和权值。 程序里面有彩蛋o! #include <iostream>#include <cstring>#include <cstdio> // 孙艺轩是周雨涵的同学兼好朋友(我

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

Good Bye 2014 B. New Year Permutation 并查集 最短路 floyed算法

B. New Year Permutation time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output User ainta has a permutation p1, p2, ..., pn.

弗洛伊德算法Floyed(求各顶点间最短路径):可打印最短路径

#include <iostream> #include <string> #include <iomanip> using namespace std; #define INFINITY 65535 #define MAX_VERTEX_NUM 10 typedef struct MGraph{ string vexs[10];//顶点信息 int arcs[10][10

最短路 floyed

今天开始学学最短路 现在从最开始的开始学 floyed(0(n3)) 感觉floyed 有动态规划的思想 通过枚举来把到每个点的最小价格算出来 然后保存到数组中 上例题 hdu 1690 Bus System Bus System Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth

抠图新境界: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