(虽然题面不是很一样,但是其实是一个题qwq)

【传送门】

算法标签:


利用Floyed的o(n3)算法:

(讲白了就是暴算qwq)

从任意一条单边路径开始。所有两点之间的距离是边的权,或者无穷大,如果两点之间没有边相连。
对于每一对顶点 u 和 v,看看是否存在一个顶点 w 使得从 u 到 w 再到 v 比己知的路径更短。如果是更新它。
Floyed算法的话算出的是一个表,通过算法,任意两点间的最短路都会被算出来,时间耗费比较大,容易炸掉

下面代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int n,m,p,q,s,t;
double a[][],dis[][];//a数组代表的是每家店的横纵坐标,dis[i][j]表示从i走到j点的路径长短
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%lf%lf",&a[i][],&a[i][]);//按要求输入横纵坐标
memset(dis,0x7f,sizeof(dis));//把数组初始化为一个很大的数
scanf("%d",&m);
for(int i=;i<=m;i++){
scanf("%d%d",&p,&q);
double x=a[p][]-a[q][],y=a[p][]-a[q][];
dis[q][p]=dis[p][q]=sqrt(x*x+y*y);//利用两点间距离公式求距离
}
for(int k=;k<=n;k++)
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if((i!=j)&&(i!=k)&&(j!=k)&&(dis[i][j]>dis[i][k]+dis[k][j]))//如果找到一个比直达更短的中间点,更新他
dis[i][j]=dis[i][k]+dis[k][j];
scanf("%d%d",&s,&t);
printf("%.2lf",dis[s][t]);
}

end-

图论++【洛谷p1744】特价采购商品&&【一本通1342】最短路径问题的更多相关文章

  1. 洛谷 P4779【模板】单源最短路径(标准版)

    洛谷 P4779[模板]单源最短路径(标准版) 题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路. 然后呢? 10 ...

  2. 洛谷——P1744 采购特价商品

    P1744 采购特价商品 题目背景 <爱与愁的故事第三弹·shopping>第一章. 题目描述 中山路店山店海,成了购物狂爱与愁大神的“不归之路”.中山路上有n(n<=100)家店, ...

  3. 洛谷 P1744 采购特价商品

    题目背景 <爱与愁的故事第三弹·shopping>第一章. 题目描述 中山路店山店海,成了购物狂爱与愁大神的“不归之路”.中山路上有n(n<=100)家店,每家店的坐标均在-1000 ...

  4. 洛谷P1283 平板涂色 &&一本通1445:平板涂色

    题目描述 CE数码公司开发了一种名为自动涂色机(APM)的产品.它能用预定的颜色给一块由不同尺寸且互不覆盖的矩形构成的平板涂色. 为了涂色,APM需要使用一组刷子.每个刷子涂一种不同的颜色C.APM拿 ...

  5. 洛谷P3371 【模板】单源最短路径

    P3371 [模板]单源最短路径 282通过 1.1K提交 题目提供者HansBug 标签 难度普及/提高- 提交  讨论  题解 最新讨论 不萌也是新,老司机求带 求看,spfa跑模板40分 为什么 ...

  6. [洛谷P4779]【模板】单源最短路径(标准版)

    题目大意:单元最短路径(卡$SPFA$) 题解:$dijkstra$($\underline{\hspace{0.5em}}\underline{\hspace{0.5em}}gnu\underlin ...

  7. 洛谷 P3371 【模板】单源最短路径 【链式前向星+SPFA】

    题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包含三个整数N.M.S,分别表示点的个数.有向边的个数.出发点的编号. 接下来M行每行包含三 ...

  8. 洛谷 P3371 【模板】单源最短路径(堆优化dijkstra)

    题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包含三个整数N.M.S,分别表示点的个数.有向边的个数.出发点的编号. 接下来M行每行包含三 ...

  9. 洛谷P3371 【模板】单源最短路径(弱化版)(SPFA解法)

    题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779. 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输 ...

随机推荐

  1. DEDE暴力破解后台登录页面

    DEDE暴力破解后台登录页面 #!/usr/bin/env python '''/* * author = Mochazz * team = 红日安全团队 * env = pyton3 * */ '' ...

  2. 分析Hello2代码

    代码如下String username = request.getParameter("username"); if (username != null && us ...

  3. Cestos7安装Elasticsearch5.4.3

    Elasticsearch及配件下载地址:https://www.elastic.co/cn/downloads 为了简单起见,我们使用tar文件. 在/usl下创建elk目录 一.安装elastic ...

  4. 【Java】NO.120.JDK.1.JDK8.1.001-【Java8实战】

    Style:Mac Series:Java Since:2018-09-26 End:2018-09-26 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  5. nuxtjs中使用路由守卫

    在vue中的路由守卫一般是来验证token失效什么的,当然也可以设置权限啦,在nuxtjs中如何使用路由守卫呢,话不多说,直接上代码 在plugins目录下简历route.js export defa ...

  6. Maven 的41种骨架功能介绍(转)

    Maven 的41种骨架: ...>mvn archetype:generate 1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spr ...

  7. Future 示例

    public static Object send(RequestClient request) future.channel().writeAndFlush(JSONObject.toJSONStr ...

  8. Poj1258 Agri-Net (最小生成树 Prim算法 模板题)

    题目链接:http://poj.org/problem?id=1258 Description Farmer John has been elected mayor of his town! One ...

  9. random模块写的验证码

    import randomabc=''for i in range(4):    a=random.randrange(0,4)    if i != a:        b=chr(random.r ...

  10. Windows SubSystem for Linux

    Summary of Windows SubSystem for Linux Install Ubuntu Run PowerShell as administrator and input: Ena ...