A9576.Acgo社区
普及-
通过率:0%
时间限制:3.00s
内存限制:512MB
题目描述
时间限制:3000ms
内存限制:512MB
在 Acgo 社区的每名用户可以关注或者取消关注其他用户。假设 Acgo 社区现在有从 1 到 N 共 N 名用户,自 Acgo 推出以来,已经进行了 Q 次操作。 对于第 i(1≤i≤Q) 次操作由三个整数 Ci,Ai 和 Bi 表示,含义如下:
- 如果 Ci=1:表示用户 Ai 关注了用户 Bi。 如果用户 Ai 已经关注了 Bi,则不做任何操作。
- 如果 Ci=2:表示用户 Ai 取消关注了用户 Bi。 如果用户 Ai 没有关注用户 Bi,则不会做任何操作。
- 如果 Ci=3:需要你判断用户 Ai 和 Bi 此时是否互相关注。即如果用户 Ai 正在关注 Bi,并且用户 Bi 正在关注用户 Ai 输出 Yes 否则输出 No。
一开始时没有任何用户关注任何其他用户。
输入格式
每个测试点包含多个测试用例。第一行为测试用例的总数 t(1≤t≤10)。
每个测试用例的第一行为社区的总人数 N(1≤N≤109) 和总操作次数 Q(1≤Q≤2×105)。
每个测试用例的第 2 行到 Q+1 行,每行包含三个整数 Ci(1,2,3),Ai(1≤Ai≤N) 和 Bi(1≤Bi≤N),含义如题面所陈述。
题目保证所有测试用例的 Q 的总和不超过 4×105。
输出格式
对于每个测试用例的每个 Ci=3 的操作,若此时用户Ai 和 Bi 互相关注,输出 Yes 否则输出 No。
你可以输出 Yes 和 No 的任意大小写形式(例如,字符串 yEs、yes、Yes 和 YES 都会被视为正确答案)。
输入输出样例
输入#1
1 3 9 1 1 2 3 1 2 1 2 1 3 1 2 1 2 3 1 3 2 3 1 3 2 1 2 3 1 2
输出#1
No Yes No No
说明/提示
对于第一个测试用例,Acgo 有三个用户,九个操作如下。
- 用户 1 关注了用户 2。没有其他用户关注或被其他用户关注。
- 判断用户 1 和 2 是否互相关注。用户 1 关注了用户 2,但用户 2 没有关注用户 1,所以输出 No。
- 用户 2 关注用户 1。
- 判断用户 1 和 2 是否互相关注。用户 1 关注了用户 2,用户 2 关注了用户 1,因此输出 Yes。
- 用户 2 关注用户 3。
- 用户 3 关注用户 2。
- 判断用户 1 和 3 是否互相关注。用户 1 没有关注用户 3,用户 3 也没有关注用户 1,因此输出 No。
- 用户 1 取消关注用户 2。
- 判断用户 1 和 2 是否互相关注。用户 2 关注了用户 1,但用户 1 没有关注用户 2,因此输出 No。