題意:
給出兩隻青蛙、以及其他石頭的座標,需要求出可以到達另乙隻青蛙的所有路徑中,青蛙跳躍距離的最小值
(每一種路徑中 青蛙的跳躍距離又是不同的,需要看這條路徑中需要跳躍的最長距離)
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...