题目链接

题意:

从0号点,到1号点,找一条能通过的路,使得这条路中的最大的边,比其它所有可能的路中的边都小。

分析:

这题就是按着dijkstra写,写着写着觉得像是prim了。

其中d[n]表示从0出发到达该点的某条路中的最大边,且比其它可能的路中的都小。

从d[i]到d[j], 就是要用 max(d[i], G[i][j]) 去更新 d[j] 。

注意:

输出时要用 %.3f 不能用 %.3lf.

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <queue>
#include <algorithm>
#include <cmath>
#include <string>
#include <map>
#include <cmath> using namespace std; const int maxn = ; const double INF = 1e60; int n;
double G[maxn][maxn], d[maxn]; struct Pos {
int x, y;
}num[maxn]; double calc(int i, int j) {
return (sqrt(pow((double)num[i].x-num[j].x, )+pow((double)num[i].y-num[j].y, )));
} double dijkstra() {
bool vis[maxn]; memset(vis, false, sizeof(vis)); for(int i=; i<n; i++) {
d[i] = G[][i];
} d[] = ;
vis[] = true; for(int i=; i<n-; i++) {
double m = INF; int x;
for(int y=; y<n; y++) if(!vis[y] && m >= d[y]) m = d[x=y];
vis[x] = true;
for(int y=; y<n; y++){
if(!vis[y]) {
double maxx = max(d[x], G[x][y]);
if(d[y] > maxx) d[y] = maxx;
}
}
} return d[];
} int main() {
int cnt = ;
while(scanf("%d", &n) == ) {
if(n == ) break; for(int i=; i<n; i++) scanf("%d%d", &num[i].x, &num[i].y); for(int i=; i<n; i++) {
for(int j=; j<i; j++) {
G[i][j] = G[j][i] = calc(i, j);
}
G[i][i] = ;
} printf("Scenario #%d\nFrog Distance = %.3f\n\n", ++cnt, dijkstra());
} return ;
}

POJ2253 Frogger(最短路)的更多相关文章

  1. POJ2253 Frogger —— 最短路变形

    题目链接:http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissi ...

  2. POJ2253 frogger 最短路 floyd

    #include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>#inc ...

  3. POJ-2253 Frogger(最短路)

    https://vjudge.net/problem/POJ-2253 题意 公青蛙想到母青蛙那里去,期间有许多石头,公青蛙可以通过这些石头跳过去.问至少要跳的最大距离,即所有路径上石头间的最大距离的 ...

  4. POJ-2253.Frogger.(求每条路径中最大值的最小值,最短路变形)

    做到了这个题,感觉网上的博客是真的水,只有kuangbin大神一句话就点醒了我,所以我写这篇博客是为了让最短路的入门者尽快脱坑...... 本题思路:本题是最短路的变形,要求出最短路中的最大跳跃距离, ...

  5. poj2253 Frogger(最短路变型或者最小生成树)

    /* 题意:就是源点到终点有多条的路径,每一条路径中都有一段最大的距离! 求这些路径中最大距离的最小值! Dijkstra, Floyd, spfa都是可以的!只不过是将松弛的条件变一下就行了! 想了 ...

  6. Frogger(最短路)

    Frogger(poj2253) Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 31854   Accepted: 1026 ...

  7. poj2253 Frogger(Floyd)

    题目链接 http://poj.org/problem?id=2253 题意 给出青蛙A,B和若干石头的坐标,现在青蛙A要跳到青蛙B所在的石头上,求出所有路径中最远那一跳的最小值. 思路 Floyd算 ...

  8. POJ2253 Frogger

    Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 34865   Accepted: 11192 Descrip ...

  9. POJ 2253 Frogger (最短路)

    Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 28333   Accepted: 9208 Descript ...

随机推荐

  1. Android网络框架---OkHttp3

    1.添加依赖 compile 'com.squareup.okhttp3:okhttp:3.4.2' project Structure-->dependencied/搜索okhttp. com ...

  2. 使用jqMobi开发app基础:Badge的使用

    显示效果: 红色的部分就是Badge,能够用来显示数量或者是其它的信息. 使用事实上非常easy,  $.ui.updateBadge("#" + id, res.Msg, &qu ...

  3. JavaScript和prototype

    Protoype这个词在javascript中可以有两种理解: 第一种是作为javascript中的一个属性,其一般出现的形式为:类名.prototype. prototype 属性让你有能力向对象添 ...

  4. Lucene中string docvalues使用utf-16的优化

    原来的string docvalues使用utf-8编码,载入时转码花费大量时间,我们把转码实现从new String(bytes, "UTF-8")改用lucene的bytesR ...

  5. Android开发ScrollView上下左右滑动事件冲突整理一(根据事件)

    主要通过重写 onInterceptTouchEvent 事件来解决,代码如下: package com.cm.android.pad.view.itemView; import android.co ...

  6. jquery在ie浏览器下中文乱码的问题

    用jquery的ajax方法在调用后台数据发现中文乱码,无法解析中文的url,而在别的浏览器下面就不会,如下所示 $.ajax({ type:'get', url:'薛之谦-演员.lrc', asyn ...

  7. python环境准备

    一.环境准备. 1.安装python3.5.2(勾选环境变量),python2.7.12 2.设置环境变量 (要求命令行输入python,进入python2命令行,打python3时,进入python ...

  8. vijos P1375 大整数(高精不熟的一定要做!)

    /* 我尼玛这题不想说啥了 亏了高精写的熟..... 加减乘除max都写了 高精二分 */ #include<iostream> #include<cstdio> #inclu ...

  9. Linq101-Generation

    using System; using System.Linq; namespace Linq101 { class Generation { /// <summary> /// This ...

  10. ASP.NET MVC 几种 Filter 的执行过程源码解析

    一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神的工作,而且很多 人觉得平时根本不需要知道这些,会用就行了.其实阅读 ...