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 自动生成**

输入格式

输出格式