UVa:10803 Thunder Mountain(floyd求多源最短路)
来源:互联网 发布:刘家昌华纳知乎 编辑:程序博客网 时间:2024/05/29 07:28
我理解错题意了,其实是水题一道。
问你所有顶点之间最短距离中最大的那一个是多少。如果任意两顶点之间没有最短距离那么输出Send Kurdy。
floyd算法轻松搞定。。
#include <cstdio>#include <algorithm>#include <iostream>#include <cstring>#include <cmath>using namespace std;int main(){ int T,kase=0; scanf("%d",&T); while(T--) { int n; double gl[105][105]; memset(gl,0x7f,sizeof(gl)); double INF=gl[0][0]; int x[105],y[105]; scanf("%d",&n); for(int i=0; i<n; ++i) scanf("%d%d",&x[i],&y[i]); for(int i=0; i<n; ++i) for(int j=0; j<n; ++j) { double dis=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])); if(dis<=10.0) gl[i][j]=dis; } for(int k=0; k<n; ++k) for(int i=0; i<n; ++i) for(int j=0; j<n; ++j) if(gl[i][k]<INF&&gl[k][j]<INF) gl[i][j]=min(gl[i][j],gl[i][k]+gl[k][j]); double mxn=0; bool ok=true; for(int i=0; i<n; ++i) for(int j=0; j<n; ++j) if(gl[i][j]<INF) mxn=max(mxn,gl[i][j]); else ok=false; printf("Case #%d:\n",++kase); if(!ok) puts("Send Kurdy"); else printf("%.4lf\n",mxn); printf("\n"); } return 0;}
- UVa:10803 Thunder Mountain(floyd求多源最短路)
- Thunder Mountain - UVa 10803 Floyd
- UVA 10803 - Thunder Mountain(floyd)
- uva 10803 Thunder Mountain (floyd)
- uva 10803 Thunder Mountain(最短路)
- UVa 10803 Thunder Mountain (任意两点最短路的最大值+Floyd)
- uva 10803 - Thunder Mountain
- UVA - 10803 Thunder Mountain
- UVa 10803 - Thunder Mountain
- uva 10803Thunder Mountain
- UVA - 10803 Thunder Mountain 最短路的最大值
- 10803 - Thunder Mountain
- Thunder Mountain
- UVa10803 - Thunder Mountain
- UVa 10048 Audiophobia(最短路&Floyd)
- uva 104 - Arbitrage(最短路Floyd)
- uva Risk(Floyd求最短路)
- UVa 104 Arbitrage (DP+最短路+Floyd)
- 成绩等级统计
- OpenStack学习过程--仅仅为了记录一下
- [OpenGL 2.0] 体积雾 | 体渲染初步
- VARCHAR/NVARCHAR
- 浅谈NGUI中的Button Message
- UVa:10803 Thunder Mountain(floyd求多源最短路)
- 查看CPU是否支持虚拟化
- Linux awk 命令 说明
- js中, opener,self,parent 区别
- 母函数 入门 + 模板
- 最近AC的一部分题目(水题一堆啊)
- This system is not registered with RHN解决方法
- 印度数学家“人脑计算机”夏琨塔拉·戴维 84 岁诞辰
- 天天锻炼身体好!