Type: Default 1000ms 256MiB

权限查询

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

ojoj 平台中,注册了 nn 个用户,平台同时开设了 mm 个不同的比赛页面。每个用户在初始时对所有比赛页面均无访问权限。平台需要根据一系列操作指令,动态管理用户的页面访问权限,并实时响应关于用户是否具备特定页面访问权限的查询。具体来说,管理员可以为某个用户单独授予某一比赛页面的访问权限,也可以直接授予某用户访问所有比赛页面的权限;同时,系统需要随时回答“某个用户能否访问某个比赛页面”的查询。有 nn 个用户,编号从 11nn。还有 mm 个比赛页面,编号从 11mm。初始时,所有用户都没有任何比赛页面的访问权限。

现在需要依次处理 QQ 个查询。查询共有三种类型,格式如下:

  • 1 X Y:授予用户 XX 访问比赛页面 YY 的权限。
  • 2 X:授予用户 XX 访问所有比赛页面的权限。
  • 3 X Y:查询用户 XX 是否可以访问比赛页面 YY

注意:在查询过程中,可能会多次授予某个用户已经拥有的权限。

输入格式

输入通过标准输入给出,格式如下:

NN MM QQ
query1\mathrm{query}_1
query2\mathrm{query}_2
\vdots
queryQ\mathrm{query}_Q

每个查询 queryi\mathrm{query}_i 是以下三种形式之一:

11 XX YY
22 XX
33 XX YY

输出格式

对于每个类型为 3 的查询,如果用户 XX 可以访问比赛页面 YY,则输出 Yes,否则输出 No。每个查询的结果单独占一行。

输入输出样例 #1

输入 #1

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

输出 #1

No
Yes
Yes

输入输出样例 #2

输入 #2

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

输出 #2

No
No
No
Yes

样例解释 #1

  • 第一个查询授予用户 11 访问比赛页面 22 的权限。
  • 第二个查询时,用户 11 只能访问比赛页面 22,因此查询页面 11 时输出 No
  • 第三个查询时,用户 11 可以访问比赛页面 22,因此输出 Yes
  • 第四个查询授予用户 22 访问所有比赛页面的权限。
  • 第五个查询时,用户 22 可以访问所有页面(1,2,31,2,3),因此查询页面 33 时输出 Yes

限制与约定

对于 40%40\%的样例

  • 1N2×1001 \leq N \leq 2 \times 100
  • 1M2×1001 \leq M \leq 2 \times 100
  • 1Q2×1001 \leq Q \leq 2 \times 100

对于 100%100\%的数据保证

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1M2×1051 \leq M \leq 2 \times 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1XN1 \leq X \leq N
  • 1YM1 \leq Y \leq M
  • 输入中的所有值均为整数
  • 时间限制: 1s1 s
  • 空间限制: 256MB256 MB