POJ 2253 Frogger Dijkstra变形
来源:互联网 发布:怎样学好linux 编辑:程序博客网 时间:2024/06/03 22:57
题目链接
Frogger
题意
Freddy所在石头编号为1,Fiona 所在石头编号为2。给出V个石头的坐标,任意两个石头间的距离即其直线距离。求从1石头到2石头所有路径的最长边的最小值。
思路
更改Dijkstra的更新方式。注意输出格式最后一行没回车。以及,POJ输出double用%f。。。。
代码
#include <iostream>#include <vector>#include <queue>#include<cmath>#include <string.h>using namespace std;const int MAXN=1000;const int INF=0xfffffff;double mmap[MAXN][MAXN];struct Node{ int x; int y;} node[300];int V;bool vis[MAXN];double d[MAXN];double sq(Node a,Node b){ return sqrt((double)((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)));}void dijkstra(){ memset(vis,0,sizeof vis); for(int i=1;i<=V;i++) d[i]=(i==1)?0:INF; for(int i=1;i<=V;i++) { int x,m=INF; for(int y=1;y<=V;y++) { if(!vis[y]&&d[y]<=m) { x=y; m=d[x]; } } vis[x]=1; for(int y=1;y<=V;y++) d[y]=min(d[y],max(d[x],mmap[x][y])); }}int main(){ //cout<<INF<<endl; //freopen("out.txt","w",stdout); int kase=0; while(~scanf("%d",&V)&&V) { memset(mmap,0,sizeof mmap); memset(d,0,sizeof d); for(int i=1; i<=V; i++) { scanf("%d %d",&node[i].x,&node[i].y); } for(int i=1; i<=V; i++) for(int j=i; j<=V; j++) { mmap[i][j]=mmap[j][i]=sq(node[i],node[j]); } dijkstra(); if(kase) printf("\n"); printf("Scenario #%d\nFrog Distance = %.3f\n",++kase,d[2]); } return 0;}
阅读全文
0 0
- POJ 2253 Frogger(dijkstra变形)
- POJ 2253 Frogger dijkstra 变形
- POJ 2253 Frogger(Dijkstra变形)
- POJ 2253 Frogger (dijkstra变形)
- poj-2253 Frogger(dijkstra变形)
- POJ 2253 Frogger Dijkstra变形
- POJ 2253 Frogger(dijkstra变形)
- poj 2253 Frogger(dijkstra变形,好题)
- POJ 2253 - Frogger(dijkstra变形)
- poj 2253 Frogger(dijkstra变形)
- POJ 2253 Frogger 最短路-Dijkstra的变形形式
- poj 2253 - Frogger --- dijkstra
- poj 2253 : Frogger (dijkstra)
- poj 2253 Frogger [dijkstra]
- poj 2253 Frogger 【dijkstra】
- POJ. 2253 Frogger (Dijkstra )
- Poj 2253 Frogger【kuskal变形】
- POJ 2253 Frogger【SPFA变形】
- python实现XML文件解析与修改
- List、Set和Map的遍历方法
- Unity中实现弹性滚动列表基于UGUI
- hadoop 2.7.4:java.lang.UnsupportedClassVersionError: org/apache/hadoop/mapreduce/lib/output/Sequence
- 16位 32位 64位下 int double short long char 等占用的字节数是多少?
- POJ 2253 Frogger Dijkstra变形
- Servlet细节———< load-on-startup >配置
- spring-boot实战:shiro
- luogu1155【2008提高】双栈排序(二分图判断+模拟)
- 机器学习 学习笔记
- 逆序对及其变种问题的一点思考
- Ubuntu 16.04 安装caffe(CPU)以及编译问题处理
- Cheapest Palindrome POJ
- SSM整合(springmvc + spring + mybatis)