2692 我得重新集結部隊

2021-10-10 18:01:04 字數 2397 閱讀 6543

時間限制: 1 sec  記憶體限制: 128 mb

提交: 134  解決: 30

[狀態] [討論版] [提交] [命題人:admin]

題目描述

為了保護科普盧星區的和平,大主教阿塔尼斯每時每刻都在指揮部隊抗擊肆虐的蟲群。最近,阿塔尼斯把目光投向了又一顆布滿蟲群的星球。在這次行動中,阿塔尼斯計畫使用狂熱者剷除星球上的蟲群威脅。

狂熱者是星靈的基本近戰兵種,每個狂熱者有乙個攻擊力 atk 和乙個攻擊範圍 r。在狂熱者發動攻擊時,他會衝向距離最近的異蟲,在這只異蟲處釋放 3 次威力強大的旋風斬。若有多隻距離最近的異蟲,他會選擇最早出現的那只。若當前沒有存活的異蟲,那麼這只狂熱者會在原地釋放旋風斬。每次旋風斬會對所有與攻擊者距離小於等於 r 的異蟲進行攻擊,對每只異蟲造成 atk 的傷害(生命值減少 atk)。

當然,這些異蟲也是不好惹的。每只異蟲具有初始生命值 h,當生命值小於等於 0 時,該異蟲將會死亡(並離開戰場)。但是,在一次攻擊中,若乙隻異蟲受到 3 次旋風斬後仍未死亡,那麼它將會對進攻的狂熱者進行反擊,使這個狂熱者不得不離開戰場。

在整個戰役中,按照時間順序依次發生了 n 個事件,事件有以下兩種:

異蟲出現。乙隻初始生命值為 h 的異蟲單位出現在  (x,y)座標。

折躍狂熱者。乙個狂熱者被折躍到了  (x,y) 座標,衝向距離最近的異蟲(若存在)並發動 3 次旋風斬。若此後該狂熱者沒有受到反擊,那麼他將會一直留在戰場,但是不會繼續進行攻擊。

你作為阿塔尼斯的副官,想知道戰場的最終情況:每個狂熱者是否離開了戰場,以及每只異蟲是否死亡。

輸入第一行包含乙個整數 n (1≤n≤2×103),代表事件的數量。

接下來 n 行,每行給出一種事件,格式為以下兩種之一:

1 x y h,代表乙個生命值為 h 的異蟲出現在了座標 (x,y)。

2 x y atk r,代表乙個攻擊力為 atk,攻擊半徑為 r 的狂熱者被折躍到了座標  (x,y),並立即進行攻擊。

上述所有的x,y,r 均為整數,滿足  0≤∣x∣,∣y∣,r≤108;所有的 atk,h 均為整數,滿足 1≤atk,h≤108。

輸出輸出 n 行,第 i 行表示第 i 個事件**現的異蟲或狂熱者最終是否留在戰場。yes 表示異蟲未死亡或狂熱者未離開戰場,no 表示異蟲死亡或狂熱者離開戰場,大小寫不敏感。

樣例輸入 copy

5

1 0 0 4

1 0 1 8

2 1 0 1 1

2 1 0 1 1

2 1 0 1 1

樣例輸出 copy

no

nono

noyes

提示

在樣例中,發生了如下事件:

事件 1 中,在 (0,0)處出現了乙隻異蟲,其生命值為 4。

事件 2 中,在 (0,1)處新出現了乙隻異蟲,其生命值為 8。

事件 3 中,在  (1,0)  處折躍乙隻攻擊力為 1,攻擊半徑為 1 的狂熱者,他移動到座標 (0,0) 後,發動 3 次旋風斬。異蟲 1,2 分別剩餘生命值 1,5,隨後狂熱者受到反擊離開戰場。

事件 4 中,在 (1,0)  處折躍乙隻攻擊力為 1,攻擊半徑為 1 的狂熱者,他移動到座標 (0,0) 後,發動 3 次旋風斬。異蟲 1 死亡,異蟲 2 剩餘生命值 2,隨後狂熱者受到反擊離開戰場。

事件 5 中,在  (1,0)  處折躍乙隻攻擊力為 1,攻擊半徑為 1 的狂熱者,他移動到座標 (0,1) 後,發動 3 次旋風斬。異蟲 2 死亡,狂熱者留在戰場。

因而,最終所有異蟲死亡,只有狂熱者 5 留在戰場。

#include#include#include#include#include#include#include#include#includeusing namespace std;

const long long inf=1e17+10;

const int maxn=10010;

struct bug

bug(int _id,int _x,int _y,int _h)

};int n;

int k,x,y;

int atk,r,h;

vectorbugs;

vectorans;

bool getpoint(int &newx,int &newy)

for(int i=0;i>n;

ans.resize(n);

for(int i=0;i>k>>x>>y;

if(k==1)else if(k==2)

//進行攻擊

else}}

// 判斷 是 蟲子的事件 中 蟲子 是死是活

int len = bugs.size();

for(int i=0;i}

len = ans.size();

for(int i=0;ireturn 0;

}

CCPC我得重新集結部隊

題目描述 為了保護科普盧星區的和平,大主教阿塔尼斯每時每刻都在指揮部隊抗擊肆虐的蟲群。最近,阿塔尼斯把目光投向了又一顆布滿蟲群的星球。在這次行動中,阿塔尼斯計畫使用狂熱者剷除星球上的蟲群威脅。狂熱者是星靈的基本近戰兵種,每個狂熱者有乙個攻擊力 atk 和乙個攻擊範圍 r。在狂熱者發動攻擊時,他會衝向...

我得趕在時間之前

官方系統的一站式,凡是涉獵的思想 軟體 設計理念,都要記錄在庫,並且都要有專題的研究文件,雖然,可能不太了解,但基本要知道它是幹嘛的。如 b站 heima程式設計師 的課程,應該要全面了解第一介紹部分,第一講解部分做成相應的初級研究文件。具體應用的熟練程度,用時再去深入了解,先了解這是最重要的。拓展...

我還愛著妳得吻

彩虹餹 回憶 靑春 侑伱陪伴 無緣的愛注定散 刻下的幸福時光 陪妳尋找幸福 無處安放的疼痛 為何相愛卻放棄 寂寞時的遊戲 失人失衡失心瘋 氾濫旳青春裡 舊城冷暖君怎知 那些塵封的枷鎖 丟了鎖的鑰匙 海枯石爛的背叛 男生網名 那些尊嚴的缺口 還昰喜歡伱 我的思想在狂奔 我說 請遠離我 支離破碎旳斑駁 ...