POJ 2253Frogger(dijk最短路变形)
来源:互联网 发布:linux配置网关 编辑:程序博客网 时间:2024/05/22 13:59
题目地址:http://poj.org/problem?id=2253
这题刚开始理解错题目意思了,以为就只是简单的求个最短路,后来找题解翻译才发现完全理解错题目意思了。
这题实际是求的最短路的最长边。看翻译的过程中不小心看到了题解。。。然后不小心发现只改变了一句话。。其实就是最短路的变形,花时间理解了下那句话的含义,就是把原先记录的到某结点的最短距离改成了最长边更短的路径的最长边(略绕口。。)。
#include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <queue>#include <map>#include <algorithm>using namespace std;double swap1(double x, double y){ if(x>y) return x; return y;}struct node{ int x, y;}q[300];double mp[210][210], d[210], maxint=99999999;int n, vis[210];void dijk(){ int i, j, pos; double min1; memset(vis,0,sizeof(vis)); for(i=0;i<n;i++) d[i]=mp[0][i]; d[0]=0; vis[0]=1; for(i=0;i<n;i++) { min1=maxint; for(j=0;j<n;j++) { if(!vis[j]&&min1>d[j]) { min1=d[j]; pos=j; } } vis[pos]=1; for(j=0;j<n;j++) { if(!vis[j]&&d[j]>swap1(d[pos],mp[pos][j]))//(这句话是重点,需要好好体会) { d[j]=swap1(d[pos],mp[pos][j]); } } } printf("%.3lf\n\n",d[1]);}int main(){ int i, j, x, y, num=0; double s; while(scanf("%d",&n)!=EOF&&n) { memset(mp,maxint,sizeof(mp)); num++; for(i=0;i<n;i++) { scanf("%d%d",&q[i].x,&q[i].y); for(j=0;j<i;j++) { s=sqrt((q[i].x-q[j].x)*(q[i].x-q[j].x)*1.0+(q[i].y-q[j].y)*(q[i].y-q[j].y)*1.0); mp[i][j]=mp[j][i]=s; } } printf("Scenario #%d\nFrog Distance = ",num); dijk(); } return 0;}
0 0
- POJ 2253Frogger(dijk最短路变形)
- POJ 2253 Frogger(最短路变形)
- 最短路变形 POJ 2253 Frogger
- POJ 2253 Frogger -- 最短路变形
- POJ 2253 Frogger(最短路--floyd变形)
- POJ -- 2253 -- Frogger (最短路变形)
- POJ 题目2253 Frogger(最短路变形)
- POJ 2253 Frogger(最短路变形,floyd算法)
- POJ 2253 Frogger 最短路-Dijkstra的变形形式
- POJ 2253 Frogger (最小生成树 or 最短路变形)
- poj 2253 Frogger (最短路Floyd)
- POJ 2253 Frogger(最短路 Floyd)
- POJ 2253 - Frogger(最短路`dijkstra)
- POJ 2253 Frogger最短路(floyd)
- poj 2253 Frogger (dijkstra最短路)
- POJ-2253 Frogger (最短路)
- POJ 2253 Frogger(最短路/迪杰斯特拉)
- 【Poj】-2253-Frogger(最短路,变化)
- grub4dos初级教程-入门篇
- 阿里腾讯面试经历
- java 栈跟踪元素
- mysql主从配置以及基于amoeba实现读写分离
- javascript的XML解析
- POJ 2253Frogger(dijk最短路变形)
- Java面向对象 线程技术 -- 下篇
- 获取Android设备的mac 和device_id
- linux 下 oracle 使用笔记
- Android 高德百度地图坐标的区别
- 把Html插入canvas实现网页截图
- tcpdump抓取数据包
- Win7旗舰版中的IIS配置asp.net的运行环境
- 创业者们必须知道的24个税收真相