#P15056. [UOI 2023 II Stage] Unenslaved puppy

[UOI 2023 II Stage] Unenslaved puppy

说明

一只狗遭到了愤怒蜜蜂的攻击。为了躲避它们,好心的蓝精灵建造了 nn 个防护罩。

从数学上讲,一个防护罩是一个以点 (posi,0)(pos_i,0) 为圆心、半径为 rir_i 的半圆。无法穿过防护罩的墙壁。狗和蜂巢可以表示为两个点 (x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2)。如果一个点在防护罩内部,我们认为它在里面。

请帮助狗判断它是否安全。也就是说,判断蜜蜂是否能在不穿过防护罩墙壁的情况下到达狗的位置。

:::align{center} :::

输入格式

  • 第一行包含五个整数 nnx1x_1y1y_1x2x_2y2y_21n103,0x1,y1,x2,y21031 \le n \le 10^3, 0 \le x_1,y_1,x_2,y_2 \le 10^3)。
  • 接下来的 nn 行,每行包含两个整数 posipos_irir_i0posi103,1ri1030 \le pos_i \leq 10^3, 1 \leq r_i \le 10^3)。

输出格式

如果蜜蜂能在不穿过防护罩墙壁的情况下到达狗的位置,输出 YES

否则,在第一行输出 NO,第二行输出将蜜蜂与狗隔开的防护罩的最小索引(从 1 开始)。

3 2 1 2 2
2 1
3 2
3 1
NO
1
2 1 1 3 0
2 2
3 1
NO
2
2 2 1 4 1
3 2
3 1
YES

提示

第一个测试的解释:

:::align{center} :::

第二个测试的解释:

:::align{center} :::

第三个测试的解释:

:::align{center} :::

翻译由 DeepSeek V3 完成