给你一个有向图,包含 N 个顶点和 M 条边。
顶点编号为 1 到 N,第 i 条边是从顶点 X_i 指向顶点 Y_i 的有向边。
一开始,所有点都是白色。
请依次处理 Q 个查询。每个查询有如下两种类型之一:
- `1 v`:将点 v 染成黑色。
- `2 v`:判断是否存在一条路径,可以从点 v 沿边行走到某个黑色点。
第一行两个数字N,M;
接下来M行数字X_i,Y_i,表示从X_i到Y_i有一条有向边;
然后一个数字Q表示查询数量;
然后是Q行,每行两个数字;
- `1 v`:将点 v 染成黑色。
- `2 v`:判断是否存在一条路径,可以从点 v 沿边行走到某个黑色点。
设共有 q 个第二种类型的查询。输出 q 行。
对于第 i 个第二种类型的查询,如果能够从顶点 v 沿边到达某个黑色顶点,输出 `Yes`,否则输出 `No`。
5 6 1 2 2 3 3 1 4 5 1 4 2 5 5 1 3 2 1 2 4 1 5 2 4
Yes No Yes
样例解释 1
- 初始时,给定图如下最左侧图所示。
- 第一个查询后,顶点 3 被染成黑色,如中间所示。
- 对第二个查询,可以从顶点 1 沿路径到达黑色顶点 3。
- 第三个查询,从顶点 4 无法到达任何黑色顶点。
- 第四个查询后,顶点 5 被染成黑色,如最右侧所示。
- 第五个查询,从顶点 4 开始可以到达黑色顶点 5。
数据范围
30%的数据:N,M,Q \leq 20,1 \leq X_i, Y_i \leq N
60%的数据:N,M,Q \leq 500,1 \leq X_i, Y_i \leq N
100%的数据:N,M,Q \leq 3 \times 10^5,1 \leq X_i, Y_i \leq N
- 不存在自环,即 X_i \neq Y_i。
- 不存在重边,即 (X_i, Y_i) 互不相同。
- 查询中的 1 \leq v \leq N。
- 所有输入均为整数。
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |