SDUT 1867 最短路径问题 (Floyd 多源)
来源:互联网 发布:ip 校验 java 编辑:程序博客网 时间:2024/05/06 02:27
#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>#define LL int#define inf 0x3f3f3f3f#define ls l,mid,rt<<1#define rs mid+1,r,rt<<1|1const double PI=acos(-1.0);using namespace std;struct node{ int x,y; double s;}q[10000];double mp[200][200];void floyd(int n){ int i,j,k; for(k=1;k<=n;k++){ for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ if(mp[i][j]>mp[i][k]+mp[k][j]){ mp[i][j]=mp[i][k]+mp[k][j]; } } } }}int main(){ int n,m,a,b,k,i,j; while(~scanf("%d",&n)){ for(i=1;i<=n;++i){ for(j=1;j<=n;++j){ if(i==j) mp[i][j]=0; else{ mp[i][j]=inf; } } } for(i=1;i<=n;i++){ scanf("%d%d",&q[i].x,&q[i].y); } scanf("%d",&m); for(i=0;i<m;++i){ scanf("%d%d",&a,&b); double p=sqrt( (q[a].x-q[b].x)*(q[a].x-q[b].x)+(q[a].y-q[b].y)*(q[a].y-q[b].y) ); if(mp[a][b]>p){ mp[a][b]=mp[b][a]=p; } } floyd(n); scanf("%d%d",&a,&b); printf("%.2lf\n",mp[a][b]); } return 0;}
0 0
- SDUT 1867 最短路径问题 (Floyd 多源)
- SDUT 1867 最短路径问题
- SDUT 1867 最短路径问题
- 【1867】最短路径问题 (Flord算法)(SDUT)
- Floyd(最短路径问题)
- Floyd算法解决最短路径问题
- 最短路径问题---Floyd算法详解
- 最短路径问题(Floyd算法)
- 【Floyd】[CODEVS] p2602 最短路径问题
- 数据结构 最短路径问题 Floyd算法
- 最短路径问题(Floyd算法)
- 最短路径问题(floyd算法)
- 最短路径问题---Floyd算法详解
- 图-最短路径问题- Floyd
- Floyd 最短路径
- Floyd最短路径
- 最短路径Floyd
- 最短路径---Floyd
- linux设备驱动归纳总结(十二):简单的数码相框
- Leetcode ☞ 260. Single Number III ☆☆☆
- ceshi
- Leetcode Patching Array
- 效率狗的迷茫!改动一点节约了1分钟
- SDUT 1867 最短路径问题 (Floyd 多源)
- iOS 集成apple Pay 接入详细教程
- 判断上传照片的类型是否是"jpg","jpeg","png"
- GNSS信号体制总结
- POJ3233[矩阵连续幂之和]
- linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟
- 浅识内部类
- Plate Game
- Securing Sockets with OpenSSL By Sean Walton