ssl1613-最短路径问题【图论,最短路径(还不明显?)】
题目
一个图,求两个点的最短路径
输入
第一行为一个整数n。
n行,两个整数x和y,一个点的坐标
一个整数m,表示图中线的个数。
m行,一条线,i,j,表示第i个点和第j个点之间有线。
最后一行:两个整数s和t,分别表示源点和目标点。
5
0 0
2 0
2 2
0 2
3 1
5
1 2
1 3
1 4
2 5
3 5
1 5
输出
最短路(保留两位小数)
3.41
解题思路
沟谷求路径长度,然后最短路,这里用O(n^3)的方法(Floyd法)
代码
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int n,dxx,dyy,m;
int xx[101],yy[101];
double a[101][101];
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%d%d",&xx[i],&yy[i]);//输入}for (int i=1;i<=n;i++)for (int j=1;j<=n;j++) a[i][j]=233333333;//初始化scanf("%d",&m);for (int i=1;i<=m;i++){scanf("%d%d",&dxx,&dyy);a[dxx][dyy]=sqrt(abs(xx[dxx]-xx[dyy])*abs(xx[dxx]-xx[dyy])+abs(yy[dxx]-yy[dyy])*abs(yy[dxx]-yy[dyy]));a[dyy][dxx]=sqrt(abs(xx[dxx]-xx[dyy])*abs(xx[dxx]-xx[dyy])+abs(yy[dxx]-yy[dyy])*abs(yy[dxx]-yy[dyy]));//求距离(沟谷)}scanf("%d%d",&dxx,&dyy);//点for (int k=1;k<=n;k++)//枚举一个中点for (int i=1;i<=n;i++)for(int j=1;j<=n;j++)a[i][j]=min(a[i][j],a[i][k]+a[k][j]); //经过中点k从i到j printf("%.2lf",a[dxx][dyy]);//输出
}
ssl1613-最短路径问题【图论,最短路径(还不明显?)】相关推荐
- BUAA离散数学第十章 图论 最短路径及关键通路 python解法
BUAA离散数学第十章 图论 最短路径及关键通路 python解法 前言 一.最短通路 题目描述 输入 输出 解题思路 代码 顶点 边 图 Solution 运行测试 二.关键通路 题目描述 输入 输 ...
- 【图论算法】最短路径算法(无权最短路径、Dijkstra算法、带负边值的图、无圈图)
本篇博客将考察各种最短路径问题. 无权最短路径 Dijkstra 算法 具有负边值的图 无圈图 所有顶点对间的最短路径 最短路径的例子–词梯游戏 输入是 ...
- 【数据结构】什么是图的最短路径?实现最短路径的2种算法?
目录 一.什么是最短路径? 二.实现最短路径的2种算法? 三.最短路径 1.某个顶点到其余各顶点的最短路径:迪 杰斯特拉(Dijkstra)算法 2.每一对顶点之间的最短路径: 佛洛依德(Floyed ...
- 数学建模 图论最短路径问题
1.图的基本概念 图论中的图(Graph)是由若干给定的点及连接两点的线 所构成的图形,这种图形通常用来描述某些事物之间的某种 特定关系,用点代表事物,用连接两点的线表示相应两个事 物间具有这种关系. ...
- 矩阵和图结构(图论) 最短路径问题 学习笔记
矩阵和图是可以相互转换的,这里的图不仅仅是图片,还包括图结构(图论) 所以最短路径问题解决矩阵和结局图论均是一个问题.
- 数据结构与算法--图论最短路径算法应用-词阶求解
最短路径案例 词梯应用,在一个词梯中,每个单词均由前一个单词改变一个字母而得到.例如,我们通过一系列单字母替换而得到zero转换为five,如下:five:zero,hero,here,hire,fi ...
- 图论——最短路径之渡河问题
渡河问题是图论(图与网络模型及方法)中求解最短路径的经典例题,也是一道很有意思的问题. 题目大致描述如下:某人带狼.羊.蔬菜渡河,有一艘船,每次渡河人只能载一物.我们都知道,狼吃羊.羊吃菜,所以当人不 ...
- 图论-最短路径--3、SPFA算法O(kE)
SPFA算法O(kE) 主要思想是: 初始时将起点加入队列.每次从队列中取出一个元素,并对所有与它相邻的点进行修改,若某个相邻的点修改成功,则将其入队.直到队列为空时算法结束. 这个算 ...
- 数学建模学习笔记——图论最短路径
[1,2,3,4] {"你好","我好","大家好"} 无向图拥有负权重--都是负权回路 弗洛伊德算法--可以算出任意两点之间的 ...
- dijkstra邻接表_掌握算法-图论-最短路径算法-Dijkstra算法
如果图是赋权图,那么问题就变得更困难了不过我们仍然可以使用来自无权情形时的想法. 我们保留所有与前面相同的信息.因此,每个顶点或者标记为Known的,或者标记为Unknown的.像之前一样,对每一个顶 ...
最新文章
- linux添加域名证书,在Linux服务器上手动安装免费的Let's Encrypt域名证书 - 乐道主机...
- 我摊牌了,这就是我的生活
- java 查找一行_Java培训之工具类通用的查询一行多列,非实体
- Python 学习笔记(1)Hello Python
- 美国纽约的一个摄像头!刷新即现奇迹!
- recv原理、高阶版黏包解决方案、基于UDP的socket通信
- 讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute
- ZendStudio8的注册码
- Java高并发入门-线程初步(二)
- PHOTOSHOP常用快捷键了
- 电脑有没有蓝牙_手机蓝牙没什么用?那是因为你不会用!这9种用法,你用过几种?...
- java mouseclicked_我用mouseClicked没办法被监听,求大神看看怎么回事
- java.io.NotSerializableException: org.apache.kafka.clients.consumer.ConsumerRecord
- 不敢穷,不敢病,不敢死……我们是独生子女
- 银行卡Bin查询接口
- WINDOWS CMAKE与NMAKE
- 中国移动推自有品牌终端利大于弊
- matlab安装matconvnet
- 如何恢复计算机隐藏的文件夹,win10系统隐藏或取消隐藏文件夹的还原方案
- 超级压缩,将3D压缩成一种图片
热门文章
- MySQL8的inodb参数设置_MySQL8.0自适应参数innodb_dedicated_server
- 如何动态的生成某种类型的集合呢_知乎画报」的移动端动态化工程实践
- linux脚本启三个tomcat,linux 重写Tomcat启停脚本
- 7-46 新浪微博热门话题 (30 分)(思路+详解+set + map)pta逐个点过的 来呀兄弟们
- AcWing 3195. 有趣的数
- python socket编程之双方相互通信简单实例_Python socket实现的简单通信功能示例
- 数据结构与索引-- mysql InnoDB存储引擎索引
- 实现option上下移动_js: 实现Select的option上下移动 | 学步园
- Java LinkedList的实现原理详解
- OpenCV Stitching_detailed 详解