D - Frogger (最短路)

D - Frogger (最短路)

题意:求1到n所有路径的最大值中最小必要值。

题目传送门

思路:

AC代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue> 
#include<cmath>
#include<algorithm>
using namespace std;
double f[205][205];
struct p{
	double x,y;
}a[205];
double  fun(int i,int j){ //求距离 
	return hypot((a[i].x-a[j].x),(a[i].y-a[j].y));
}
int main(){
	int n,k=0;
	while(~scanf("%d",&n)&&n){
	for(int i=1;i<=n;i++) scanf("%lf%lf",&a[i].x,&a[i].y);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		{
			if(i==j) f[i][j]=0;
			else  f[i][j]=fun(i,j);
		}
	for(int k=1;k<=n;k++)
		for(int i=1;i<=n;i++)
			if(f[i][k])
				for(int j=1;j<=n;j++)
				{
					if(f[i][j]>max(f[i][k],f[k][j]))
					{
						f[i][j]=max(f[i][k],f[k][j]);
					}
				}
	printf("Scenario #%d\nFrog Distance = %.3f\n",++k,f[1][2]);//G++用%.f C++ %.lf %f都可. 
	puts("");
	}
	return 0;
}
全部评论

相关推荐

06-26 10:08
门头沟学院 C++
北京Golang实习,一个月4700,吃住都不报,公司位置在海淀。请问友友怎么看呢?如果要租房的话有什么建议吗
码农索隆:租房肯定是合租了,剩下的钱,差不多够正常吃饭了,看看能不能学到东西吧
点赞 评论 收藏
分享
牛客84809583...:举报了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务