#P2978. [USACO10JAN] Tea Time S

[USACO10JAN] Tea Time S

题目描述

N(1N1000)N (1 \leq N \leq 1000) 头奶牛,编号为 1N1 \dots N,在参加一个喝茶时间活动。在喝茶时间活动开始之前,已经有 M(1M2,000)M (1 \leq M \leq 2,000) 对奶牛彼此认识(是朋友)。第i对彼此认识的奶牛通过两个不相同的整数 AiA_iBiB_i 给定(1AiN,1BiN1 \leq A_i \leq N, 1 \leq B_i \leq N)。输入数据保证一对奶牛不会出现多次。 在喝茶时间活动中,如果奶牛 ii 和奶牛 jj 有一个相同的朋友奶牛 kk,那么他们会在某次的喝茶活动中去认识对方(成为朋友),从而扩大他们的社交圈。请判断,在喝茶活动举办很久以后(直到没有新的奶牛彼此认识),Q(1Q100)Q (1 \leq Q \leq 100) 对奶牛是否已经彼此认识。询问j包含一对不同的奶牛编号 XjX_jYjY_j1XjN,1YjN1 \leq X_j \leq N, 1 \leq Y_j \leq N)。

例如,假设共有 55 头奶牛,我们知道 22 号认识 55 号,22 号认识 33 号,而且 44 号认识 55 号;如下图 (a)。

   2---3           2---3            2---3
    \              |\  |            |\ /|
1    \     -->  1  | \ |    -->  1  | X |
      \            |  \|            |/ \|
   4---5           4---5            4---5
    (a)             (b)              (c)

在第一次喝茶活动中,22 号认识 44 号,33 号认识 55 号,如上图 (b) 所示。接下来的喝茶活动中,33 号认识了 44 号,如上图 (c) 所示。

输入格式

11 行:三个空格隔开的整数:NNMMQQ

2M+12 \dots M+1 行:第 i+1i+1 行包含两个空格隔开的整数 AiA_iBiB_i

M+2M+Q+1M+2 \dots M+Q+1 行:第 j+M+1j+M+1 行包含两个空格隔开的整数 XjX_jYjY_j,表示询问 jj

输出格式

1Q1 \dots Q 行:如果第 jj 个询问的两头奶牛认识, 第 jj 行输出 Y。如果不认识,第 jj 行输出 N

5 3 3 
2 5 
2 3 
4 5 
2 3 
3 5 
1 5 

Y 
Y 
N 

提示

感谢@蒟蒻orz神犇 提供翻译。