#1468. 权限查询

权限查询

题目描述

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