#P1678. 电脑(t4.cpp)

电脑(t4.cpp)

问题描述

一场地震把所有的电脑都毁掉了,现在要一台一台来维修电脑,并且要恢复通讯功能。

若两台电脑可以互相通讯,满足其中以下一种情况:

1、 他们的距离小于等于 d

2、 他们可以借助都可到达的第三台已修复电脑

现在给出所有电脑的坐标,对其进行两种可能的操作:

1、 O x 表示修复第 x 台电脑

2、 S x y 表示询问 x 和 y 之间是能否通讯,若能通讯则输出 YES,否则输出 NO

注意:没有修好的电脑本身不具备通讯功能(可以理解为没修好的电脑开不了机)

输入格式

第一行三个整数,n,m,d (n > 0,m>0,d>0),分别表示电脑数目,操作数目,以及可通讯距离

接下来 n 行,每行两个整数 xi,yi,表示第 i 台电脑的坐标(0<=xi<=1000,0<=yi<=1000)

接下来 m 行,则表示有可能的操作

输出格式

每行一个字符串,若能通讯则输出 YES,否则输出 NO

输入样例

4 6 1
0 1
0 2
0 3
0 4
O 1
O 2
O 4
S 1 4
O 3
S 1 4

输出样例

NO
YES

注释说明满足:

30%的数据,n<=300,d<=200,m<=200

100%的数据,n<=1000,d<=20000,m<=100