410739: GYM104095 C 我得重新集结部队
Memory Limit:512 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
C. 我得重新集结部队time limit per test1 secondmemory limit per test512 megabytesinputstandard inputoutputstandard output
为了保护科普卢星区的和平,大主教阿塔尼斯每时每刻都在指挥部队抗击肆虐的虫群。最近,阿塔尼斯把目光投向了又一颗布满虫群的星球。在这次行动中,阿塔尼斯计划使用狂热者铲除星球上的虫群威胁。
狂热者是星灵的基本近战兵种,每个狂热者有一个攻击力 和一个攻击范围 r。在狂热者发动攻击时,他会冲向距离最近的异虫,在这只异虫处释放 3 次威力强大的旋风斩。若有多只距离最近的异虫,他会选择最早出现的那只。若当前没有存活的异虫,那么这只狂热者会在原地释放旋风斩。每次旋风斩会对所有与攻击者距离小于等于 r 的异虫进行攻击,对每只异虫造成 的伤害(生命值减少 )。
当然,这些异虫也是不好惹的。每只异虫具有初始生命值 h,当生命值小于等于 0 时,该异虫将会死亡(并离开战场)。但是,在一次攻击中,若一只异虫受到 3 次旋风斩后仍未死亡,那么它将会对进攻的狂热者进行反击,使这个狂热者不得不离开战场。
在整个战役中,按照时间顺序依次发生了 n 个事件,事件有以下两种:
- 异虫出现。一只初始生命值为 h 的异虫单位出现在 (x, y) 坐标。
- 折跃狂热者。一个狂热者被折跃到了 (x, y) 坐标,冲向距离最近的异虫(若存在)并发动 3 次旋风斩。若此后该狂热者没有受到反击,那么他将会一直留在战场,但是不会继续进行攻击。
你作为阿塔尼斯的副官,想知道战场的最终情况:每个狂热者是否离开了战场,以及每只异虫是否死亡。
Input第一行包含一个整数 n (1 ≤ n ≤ 2 × 103),代表事件的数量。
接下来 n 行,每行给出一种事件,格式为以下两种之一:
- 1 x y h,代表一个生命值为 h 的异虫出现在了坐标 (x, y)。
- ,代表一个攻击力为 ,攻击半径为 r 的狂热者被折跃到了坐标 (x, y),并立即进行攻击。
上述所有的 x, y, r 均为整数,满足 0 ≤ |x|, |y|, r ≤ 108;所有的 均为整数,满足 。
Output输出 n 行,第 i 行表示第 i 个事件中出现的异虫或狂热者最终是否留在战场。Yes 表示异虫未死亡或狂热者未离开战场,No 表示异虫死亡或狂热者离开战场,大小写不敏感。
ExampleInput5 1 0 0 4 1 0 1 8 2 1 0 1 1 2 1 0 1 1 2 1 0 1 1Output
No No No No YesNote
在样例中,发生了如下事件:
- 事件 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 留在战场。