SP12734 QN02 - Seating Arrangement
题目描述
在 DA-IICT,期末考试即将来临,所有学生都在紧张地备考。当然,不只是学生忙碌,教授们也在辛勤工作。特别是学生事务院长,他正在为考试安排座位。
通常情况下,每个考场的长椅可以坐下两名学生,并且确保每对学生来自不同的年级(以防止作弊)。然而,院长注意到,即便如此,如果两名学生是朋友,他们仍可能互相帮助,这可能影响到考试的公平性。因此,座位安排必须保证任何两位朋友不会在考试中坐在一起,从而保证学生们独立备考。遗憾的是,院长对此感到无从下手。
在这里,请你来帮助他。你将得到若干学生 ID 对 (A, B),表示学生 A 与学生 B 是朋友。对于每个查询 (C, D),请判断这两名学生是否是朋友(即他们不能坐在同一张长椅上)。
**注意**:友谊关系是**对称**且**传递**的。也就是说,如果 A 是 B 的朋友,那么 B 也是 A 的朋友。同时,如果 A 和 B 是朋友,且 B 和 C 是朋友,这意味着 A 和 C 也是朋友。
### 输入格式
第一行包含两个整数 $n$ 和 $m$,分别表示参加考试的学生人数($2 \leq n \leq 100000$),以及朋友关系对的数量($0 \leq m \leq 100000$,并且 $m \leq \frac{n(n+1)}{2}$)。
接下来是 $m$ 行,每行包含两个整数 A 和 B,表示 ID 为 A 的学生与 ID 为 B 的学生是朋友($0 \leq A, B < n$)。
然后有一行,包含一个整数 $q$($1 \leq q \leq 100000$),表示需要回答的查询数量。接下来的 $q$ 行中,每行为一对整数 C 和 D($0 \leq C, D < n$),表示要判断的学生 ID。
### 输出格式
对于每个查询,输出一行,如果两名学生是朋友则输出 `YES`,否则输出 `NO`。注意输出区分大小写。
### 示例
```
输入:
7 4
1 2
2 3
1 3
4 5
4
1 3
4 6
5 1
5 4
输出:
YES
NO
NO
YES
```
**本翻译由 AI 自动生成**
输入格式
无
输出格式
无