博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2602 最短路径问题Dihstra算法
阅读量:6006 次
发布时间:2019-06-20

本文共 1701 字,大约阅读时间需要 5 分钟。

题目描述 
Description

平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另一点之间的最短路径。

输入描述 
Input Description

第一行为整数n。

第2行到第n+1行(共n行),每行两个整数x和y,描述了一个点的坐标。

    第n+2行为一个整数m,表示图中连线的个数。

    此后的m行,每行描述一条连线,由两个整数i和j组成,表示第i个点和第j个点之间有连线。

    最后一行:两个整数s和t,分别表示源点和目标点。

输出描述 
Output Description

仅一行,一个实数(保留两位小数),表示从s到t的最短路径长度。

样例输入 
Sample Input

5

0 0

2 0

2 2

0 2

3 1

5

1 2

1 3

1 4

2 5

3 5

1 5

样例输出 
Sample Output

3.41

数据范围及提示 
Data Size & Hint
1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 double db_maxn=127; 7 double maxn=127; 8 struct node 9 {10 double x;11 double y;12 }a[1001];13 double dis[1001];14 int vis[1001];15 int n;16 double map[101][101];17 void Dijkstra(int u)18 {19 memset(vis,0,sizeof(vis));20 for(int i=1;i<=n;i++)21 {22 dis[i]=map[u][i];23 }24 dis[u]=0;25 vis[u]=1;26 for(int i=1;i
=dis[k]+map[k][j])&&vis[j]==0)42 dis[j]=dis[k]+map[k][j];43 }44 }45 }46 int main()47 {48 memset(map,db_maxn,sizeof(map));49 memset(dis,db_maxn,sizeof(dis));50 scanf("%d",&n);51 for(int i=1;i<=n;i++)52 {53 scanf("%lf%lf",&a[i].x,&a[i].y);54 //a[i].cd=sqrt((pow(abs(x),2))+(pow(abs(y),2)));55 }56 int m;57 scanf("%d",&m);58 for(int i=1;i<=m;i++)59 {60 int p,q;61 scanf("%d%d",&p,&q);62 double y=sqrt(pow(a[p].x-a[q].x,2)+pow(a[p].y-a[q].y,2));63 map[p][q]=y; 64 map[q][p]=y;65 }66 int u,v;67 scanf("%d%d",&u,&v);68 Dijkstra(u);69 printf("%0.2lf",dis[v]);70 return 0;71 }

 

转载地址:http://nasmx.baihongyu.com/

你可能感兴趣的文章
linux之screen命令
查看>>
Unity3D 发布APK安卓环境配置步骤、安装、教程(含Java/Android)(超全流程)
查看>>
运行从别处复制过来的linux可执行程序
查看>>
RIOT硬件平台调研
查看>>
Eclipse 中手动导入 XML DTD 和 Scheme 文件
查看>>
CSS Position 定位属性介绍
查看>>
基于Jquery的颜色选择器
查看>>
Redis源码笔记-初步
查看>>
openssl编程入门(含完整可编译和运行示例)
查看>>
Core Data 应用程序实践指南(Core Data 应用程序实践指南)
查看>>
iOS 手机号码格式化,344格式
查看>>
mysql添加注释
查看>>
实验五 TCP传输及加解密
查看>>
Twisted网络编程入门
查看>>
mysql多表查询
查看>>
中介者模式c#(媒婆版)
查看>>
Mac的MySQL无法启动的原因
查看>>
最小生成树 普莱姆(prim)算法
查看>>
基于Tomcat7、Java、WebSocket的服务器推送聊天室
查看>>
python 杂记
查看>>