POJ 2253 Frogger
来源:互联网 发布:mysql delete语句 编辑:程序博客网 时间:2024/06/05 07:43
题目链接:http://poj.org/problem?id=2253
题目大意:第一行开始位置的坐标,第二行终止位置的坐标,剩下的n-2行是水中石头的坐标,求从开始到终止每次选取最小的权值,在每点的最小权值中输出最大的
思路:简单的最短路的比较
具体代码:
#include<stdio.h>#include<string.h>#include<algorithm>#include<iostream>#include<math.h>using namespace std;const int Max=210;const int INF=0x3f3f3f3f;using namespace std;int n;double dis[Max][Max];struct node{ double x,y;} p[Max];//定义一个结构体来储存坐标x,yint main(){ int t=0; while(scanf("%d",&n)&&n) { for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { dis[i][j]=dis[j][i]=INF; } }//对dis初始化 t++; for(int i=0; i<n; i++) { scanf("%lf%lf",&p[i].x,&p[i].y); } for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { dis[i][j]=(double)sqrt((p[i].x-p[j].x)*(p[i].x-p[j].x)+(p[i].y-p[j].y)*(p[i].y-p[j].y));//dis[i][j]就是i点到j点的距离 } } for(int k=0; k<n; k++) { for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { if(dis[i][j]>max(dis[i][k],dis[k][j])) { dis[i][j]=max(dis[i][k],dis[k][j]);//每次都选出最大的边 } } } }//Floyd求最短路径 printf("Scenario #%d\n",t); printf("Frog Distance = %.3f\n",dis[0][1]);//输出始点0到终点1的最短路径的最大边 printf("\n");//最后别忘了输出一行换行 } return 0;}
0 0
- poj 2253 - Frogger --- SPFA
- poj 2253 - Frogger --- dijkstra
- POJ 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- POJ 2253 Frogger Floyd
- poj 2253 : Frogger (dijkstra)
- Poj 2253 Frogger
- POJ 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- poj-2253-Frogger
- POJ 2253 Frogger
- POJ 2253 Frogger
- POJ 2253 Frogger
- centOS系统下安装Androguard工具
- linux解压大全
- Log4j的详细讲解
- 友盟推送:测试模式推送完成,但却收不到推送信息
- SQLite 的使用(一)
- POJ 2253 Frogger
- Symmetric Tree(easy)
- java发送http的get、post请求
- leetcode 191. Number of 1 Bits
- echart扩展地图
- Log4j配置详解
- 1 10
- PB12.5带图标菜单自定义对象
- TextView.setTextColor方法不能用R.Color.XXX设置颜色