#ABC278C. 互相关注

互相关注

互相关注

题目描述

高桥运营着 SNS「Twidai」,其中有编号 11NNNN 个用户。 在 Twidai 中,用户可以关注或取关其他用户。

自 Twidai 上线以来,已经执行了 QQ 次操作。 第 ii 次操作 (1iQ)(1\le i\le Q) 由三个整数 TiT_iAiA_iBiB_i 表示,含义如下:

如果 Ti=1T_i = 1:表示用户 AiA_i 关注用户 BiB_i。如果执行该操作时用户 AiA_i 已经关注了用户 BiB_i,则不会发生任何变化。

如果 Ti=2T_i = 2:表示用户 AiA_i 取关用户 BiB_i。如果执行该操作时用户 AiA_i 没有关注用户 BiB_i,则不会发生任何变化。

如果 Ti=3T_i = 3:表示询问用户 AiA_i 和用户 BiB_i 是否互相关注。如果用户 AiA_i 关注了用户 BiB_i 且用户 BiB_i 关注了用户 AiA_i,则输出 Yes,否则输出 No。

服务上线时,没有任何用户关注其他用户。

ii 的升序,输出所有满足 Ti=3T_i = 3 的操作的正确回答。

输入格式

输入按以下格式从标准输入给出:

NN QQ
T1T_1 A1A_1 B1B_1
T2T_2 A2A_2 B2B_2
\vdots
TQT_Q AQA_Q BQB_Q

输出格式

输出 XX 行,其中 XX 是满足 Ti=3T_i = 3ii (1iQ)(1\le i\le Q) 的个数。 第 jj(1jX)(1\le j\le X) 应输出第 jj 个满足 Ti=3T_i = 3 的操作的回答。

样例

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
No
Yes
No
No

Twidai 中有三个用户。 这九次操作如下。

用户 11 关注用户 22。此时没有其他用户关注或被任何用户关注。

询问用户 11 和用户 22 是否互相关注。用户 11 关注了用户 22,但用户 22 没有关注用户 11,所以该操作的正确回答是 No。

用户 22 关注用户 11

询问用户 11 和用户 22 是否互相关注。用户 11 关注了用户 22,用户 22 也关注了用户 11,所以该操作的正确回答是 Yes。

用户 22 关注用户 33

用户 33 关注用户 22

询问用户 11 和用户 33 是否互相关注。用户 11 没有关注用户 33,用户 33 也没有关注用户 11,所以该操作的正确回答是 No。

用户 11 取关用户 22

询问用户 11 和用户 22 是否互相关注。用户 22 关注了用户 11,但用户 11 没有关注用户 22,所以该操作的正确回答是 No。

2 8
1 1 2
1 2 1
3 1 2
1 1 2
1 1 2
1 1 2
2 1 2
3 1 2
Yes
No

一个用户可以多次关注同一个用户。

10 30
3 1 6
3 5 4
1 6 1
3 1 7
3 8 4
1 1 6
2 4 3
1 6 5
1 5 6
1 1 8
1 8 1
2 3 10
1 7 6
3 5 6
1 6 7
3 6 7
1 9 5
3 8 6
3 3 8
2 6 9
1 7 1
3 10 8
2 9 2
1 10 9
2 6 10
2 6 8
3 1 6
3 1 8
2 8 5
1 9 10
No
No
No
No
Yes
Yes
No
No
No
Yes
Yes

数据范围

  • 2N1092 \le N \le 10^9
  • 1Q2×1051 \le Q \le 2 \times 10^5
  • Ti=1,2,3T_i = 1, 2, 3 (1iQ)(1\le i\le Q)
  • 1AiN1 \le A_i \le N (1iQ)(1\le i\le Q)
  • 1BiN1 \le B_i \le N (1iQ)(1\le i\le Q)
  • AiBiA_i \neq B_i (1iQ)(1\le i\le Q)
  • 存在某个 ii (1iQ)(1\le i\le Q) 满足 Ti=3T_i = 3
  • 输入中的所有值均为整数。
难度 普及
通过率
尝试 0
已通过 0
ID
2546
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签