最短路径问题(信息学奥赛一本通-T1342)
【题目描述】
平面上有n个点(n≤100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。
若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另一点之间的最短路径。
【输入】
共n+m+3行,其中:
第一行为整数n。
第2行到第n+1行(共n行) ,每行两个整数x和y,描述了一个点的坐标。
第n+2行为一个整数m,表示图中连线的个数。
此后的m 行,每行描述一条连线,由两个整数i和j组成,表示第i个点和第j个点之间有连线。
最后一行:两个整数s和t,分别表示源点和目标点。
【输出】
一行,一个实数(保留两位小数),表示从s到t的最短路径长度。
【输入样例】
5
0 02 0
2 2
0 2
3 1
5
1 2
1 3
1 4
2 5
3 5
1 5【输出样例】
3.14
【源程序】
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#include<set>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 1001
#define MOD 123
#define E 1e-6
using namespace std;
int x[N],y[N];
double g[N][N];
double calculate(int x1,int y1,int x2,int y2)
{return sqrt((double)(x1-x2)*(x1-x2)+(double)(y1-y2)*(y1-y2));
}
int main()
{int n,m;cin>>n;for(int i=1;i<=n;i++)cin>>x[i]>>y[i];cin>>m;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){g[i][j]=INF;g[j][i]=INF;}g[i][i]=0;}for(int i=1;i<=m;i++){int u,v;cin>>u>>v;double temp=calculate(x[u],y[u],x[v],y[v]);g[u][v]=temp;g[v][u]=temp;}for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(g[i][j]>g[i][k]+g[k][j])g[i][j]=g[i][k]+g[k][j];int u,v;cin>>u>>v;printf("%.2lf",g[u][v]);return 0;
}
最短路径问题(信息学奥赛一本通-T1342)相关推荐
- 最短路径(信息学奥赛一本通-T1378)
[题目描述] 给出一个有向图G=(V, E),和一个源点v0∈V,请写一个程序输出v0和图G中其它顶点的最短路径.只要所有的有向环权值和都是正的,我们就允许图的边有负值.顶点的标号从1到n(n为图G的 ...
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”
董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...
- 信息学奥赛一本通 提高篇 第5章 矩阵乘法
例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...
- 《信息学奥赛一本通提高篇》第6章 组合数学
例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...
- 《信息学奥赛一本通 提高篇》
提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...
- 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分
信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...
- 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题
第1章 快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章 素数 第 3 章 约数 第 4 章 同余问题 第 5 章 矩阵乘法 第 6 章 ...
最新文章
- android jks sha1,Android 获取签名文件jks的SHA1值或者SHA256的值
- redis 大数据插入
- sqlite3 C接口基础
- 逆向工程核心原理学习笔记(十一):栈
- c++检测输入是否为数字_Go64 for Mac(检测应用是否为64位)
- Oracle中start with xx connect by prior 语句解析
- HTML+CSS+JS实现 ❤️h5酷炫的天体木星动画特效❤️
- python搭建web服务
- webdriver 调用IE 问题
- 搬砖的也能学Python----if - elif 语句
- 这个 80 后 IT 男厉害了!他用北京蜗居的首付在东京海淘了一栋楼!
- 念念不忘,必有回响!6月更文活动的一些总结
- zlog日志库的简单封装,以及给debug级别添加颜色显示
- NRF52840开发注意
- 惠普m1005mfp说明书_惠普M1005使用说明
- 竞品分析 | 不背单词、百词斩
- 【无标题】免费论文查重的方法;知网也可以免费查重啦
- 【python实战】二:乒乓球比赛对手问题
- 中国云计算行业研究报告
- 简单的几句话让你理解”什么是备份、容灾、集群、负载均衡”
热门文章
- 2020下半场:10本书教会你学习、思考和生活
- STM32之独立看门狗原理
- 如果去掉数学前后的空格_数学家们是怎么玩趣味拼图游戏的?
- IntelliJ IDEA竟然出了可以在云端编码的功能?
- 分享 2 个“捷径”,帮你 6 个月达到阿里 P7 水平
- 面试官真是搞笑!让实现线程安全的单例,又不让使用synchronized!
- 瓜田老梁:FA1# 微服务流控防护场景与应对措施
- 58 转转技术总监骆俊武:一个核心系统 3 万多行代码的重构实战篇
- 腾讯总监周颢:亿级用户微信采用的架构宝典
- Jeecg-Boot 1.0 版本发布,基于SpringBoot+Mybatis+AntDesign快速开发平台