飛彈防禦塔

2021-10-01 20:53:28 字數 1612 閱讀 5500

freda的城堡遭受了 m 個入侵者的攻擊!

freda控制著 n 座飛彈防禦塔,每座塔都有足夠數量的飛彈,但是每次只能發射一枚。

在發射飛彈時,飛彈需要 t1 秒才能從防禦塔中射出,而在發射飛彈後,發射這枚飛彈的防禦塔需要 t2 分鐘來冷卻。

所有飛彈都有相同的勻速飛行速度 v,並且會沿著距離最短的路徑去打擊目標。

計算防禦塔到目標的距離distance時,你只需要計算水平距離,而忽略飛彈飛行的高度。

飛彈在空中飛行的時間就是 (distance/v) 分鐘,飛彈到達目標後可以立即將它擊毀。

現在,給出 n 座飛彈防禦塔的座標,m 個入侵者的座標,t1,t2 和 v。因為freda的小夥伴rainbow就要來拜訪城堡了,你需要求出至少多少分鐘才能擊退所有的入侵者。

輸入格式

第一行五個正整數n,m,t1,t2,v。

接下來 m 行每行兩個整數,代表入侵者的座標。

接下來 n 行每行兩個整數,代表防禦塔的座標。

輸出格式

輸出乙個實數,表示最少需要多少分鐘才能擊中所有的入侵者,四捨五入保留六位小數。

資料範圍

1≤n,m≤50,座標絕對值不超過10000,t1,t2,v不超過2000。

輸入樣例:33

302010

005050050

5001000

1000

0輸出樣例:

91.500000

#pragma gcc optimize(2)

#include

using

namespace std;

const

int n =

1e5, m =

5e5;

int head[n]

, ver[m]

, next[m]

, tot;

int n, m, v, t2;

double t1;

int match[n]

;bool vis[n]

;double tim[55]

[55];

int u, v;

vectorint,

int>> missile, enemy;

set<

int> attack;

void

add(

int x,

int y)

void

init()

void

read()

for(

int i =

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

void

spend()

void

build

(double mid)}}

}bool

dfs(

int x)}}

return

false;}

void

solve()

if(num == m)r = mid;

else l = mid;

}printf

("%.6lf"

, r);}

intmain()

飛彈防禦塔(missble)題解

freda控制著n座可以發射飛彈的防禦塔。每座塔都有足夠數量的飛彈,但是每座塔每次只能發射一枚。在發射飛彈時,飛彈需要t1秒才能從防禦塔中射出,而在發射飛彈後,發射這枚飛彈的防禦塔需要t2分鐘來冷卻。所有飛彈都有相同的勻速飛行速度v,並且會沿著距離最短的路徑去打擊目標。計算防禦塔到目標的距離dist...

網路流 飛彈防禦塔

freda的城堡 freda,城堡外發現了一些入侵者!喵 剛剛 完了城堡建設的方案數,我要歇一會兒嘛lala 可是入侵者已經接近城堡了呀!別擔心,rainbow,你看呢,這是我剛設計的飛彈防禦系統的說 喂 別賣萌啊 freda控制著n座可以發射飛彈的防禦塔。每座塔都有足夠數量的飛彈,但是每座塔每次只...

Codevs2490 飛彈防禦塔

時間限制 1 s 空間限制 64000 kb 題目等級 大師 master freda的城堡 freda,城堡外發現了一些入侵者!喵.剛剛 完了城堡建設的方案數,我要歇一會兒嘛lala 可是入侵者已經接近城堡了呀!別擔心,rainbow,你看呢,這是我剛設計的飛彈防禦系統的說 喂.別賣萌啊 fred...