P15056 [UOI 2023 II Stage] Unenslaved puppy

题目描述

一只狗遭到了愤怒蜜蜂的攻击。为了躲避它们,好心的蓝精灵建造了 $n$ 个防护罩。 从数学上讲,一个防护罩是一个以点 $(pos_i,0)$ 为圆心、半径为 $r_i$ 的半圆。无法穿过防护罩的墙壁。狗和蜂巢可以表示为两个点 $(x_1,y_1)$ 和 $(x_2,y_2)$。如果一个点在防护罩内部,我们认为它在里面。 请帮助狗判断它是否安全。也就是说,判断蜜蜂是否能在不穿过防护罩墙壁的情况下到达狗的位置。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/grlzymqi.png) :::

输入格式

- 第一行包含五个整数 $n$、$x_1$、$y_1$、$x_2$、$y_2$($1 \le n \le 10^3, 0 \le x_1,y_1,x_2,y_2 \le 10^3$)。 - 接下来的 $n$ 行,每行包含两个整数 $pos_i$ 和 $r_i$($0 \le pos_i \leq 10^3, 1 \leq r_i \le 10^3$)。

输出格式

如果蜜蜂能在不穿过防护罩墙壁的情况下到达狗的位置,输出 `YES`。 否则,在第一行输出 `NO`,第二行输出将蜜蜂与狗隔开的防护罩的最小索引(从 1 开始)。

说明/提示

第一个测试的解释: :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/grlzymqi.png) ::: 第二个测试的解释: :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/s34mvpck.png) ::: 第三个测试的解释: :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/c86oo37j.png) ::: 翻译由 DeepSeek V3 完成