poj 2253 最短路變形 最大邊的最小值

2021-09-25 07:10:29 字數 1867 閱讀 1199

題意:

給出兩隻青蛙、以及其他石頭的座標,需要求出可以到達另乙隻青蛙的所有路徑中,青蛙跳躍距離的最小值

(每一種路徑中 青蛙的跳躍距離又是不同的,需要看這條路徑中需要跳躍的最長距離)

input:

輸入將包含乙個或多個測試用例。每個測試用例的第一行將包含石頭數量n(2<=n<=200)。下n行各包含兩個整數xi,yi(0<=xi,yi=1000),表示石頭的座標i。石頭1是弗萊迪的石頭,石頭2是菲奧娜的石頭,其他的n-2石頭是空的。每個測試用例後面都有乙個空白行。對於n,輸入以0終止。

output:

對於每個測試用例,列印一行「scenario_x」和一行「frog distance=y」,其中x替換為測試用例編號(從1開始編號),y替換為適當的實數,列印為三位小數。在每個測試用例之後,甚至在最後乙個測試用例之後,都放乙個空白行。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

const

int maxn =

300;

int cnt =0;

int n;

struct jgt

;jgt a[maxn]

;double map[maxn]

[maxn]

;double

pow2

(double x)

intmain()

return0;

}

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

double

pow2

(double x)

int cnt =0;

int n;

const

int maxn =

300;

const

int inf =

999999

;struct jgt

;jgt a[maxn]

;double map[maxn]

[maxn]

;bool vis[maxn]

;double dis[maxn]

;void

dijkstra

(int u)

if(pos !=-1

) vis[pos]=1

;for

(int j =

1; j <= n; j++)}

}int

main()

return0;

}

poj2263

基礎最短路 二 POJ 2253

poj2253 青蛙跳 n為200。題意為 給出n個石頭,每個石頭給出他們的x和y座標。乙隻青蛙在這些石頭上面跳來跳去。但是青蛙跳躍能力有限。需要求的是,青蛙從石頭1跳到石頭2上,對他的跳躍能力要求最低為多少。也就是石頭1到石頭2路徑上,的最大邊,最小可以為多少。這裡dis陣列儲存的就不是原點到各點...

poj 2253 二分 最短路

題意 a青蛙要去b青蛙所在的石頭,湖面上共有n個石頭,a在0,b在1,a到b可以跳到其它石頭上,要求到b的路程中,跳的最遠的一次?使這個最大距離最小。分析 雖然在最短路的題目裡看到這個題,不過讀完題我就想到了二分答案 並查集判聯通,二分最大距離,然後把不大於這個距離的邊的兩點放到乙個集合裡,最後判斷...

POJ 2253 Frogger 最短路小變形

傳送門 參考 題意 給出乙個無向圖,求一條從 1 到 2 的路徑,使得路徑上的最大邊權最小 思路 dij將距離更新改成取最大值即可,即dis i 表示到達i點過程中的最大邊權,更新後可能多個,再靠優先佇列取出最小的最大邊權。include include include include includ...