#P8819. [CSP-S 2022] 星战
[CSP-S 2022] 星战
[CSP-S 2022] 星战
- 时间限制:2 秒
- 内存限制:512 MiB
题目描述
在宇宙中有 个据点和 条单向虫洞。虫洞 从据点 指向据点 ,不存在自环,也不存在重边。初始时所有虫洞均可用。
战场上会依次发生 次操作:
- 摧毁一条指定的、当前可用的虫洞;
- 摧毁所有终点为指定据点的当前可用虫洞;
- 修复一条指定的、当前不可用的虫洞;
- 修复所有终点为指定据点的当前不可用虫洞。
摧毁只会让虫洞暂时不可用,不会删除虫洞。第 2、4 类操作可能没有实际效果。
一次操作后,如果从任意据点出发都能沿可用虫洞无限穿梭,并且每个据点恰好只有一条可用的出边,就称当前可以进行反攻。
请在每次操作后判断当前是否可以反攻。
输入格式
第一行包含两个正整数 。
接下来 行,每行两个整数 ,表示一条从 指向 的虫洞。保证 ,且不存在两条相同虫洞。
接下来一行包含正整数 。
接下来 行,每行描述一次操作:
1 u v:摧毁虫洞 。保证该虫洞存在且当前可用;2 u:摧毁所有终点为 的当前可用虫洞;3 u v:修复虫洞 。保证该虫洞存在且当前不可用;4 u:修复所有终点为 的当前不可用虫洞。
输出格式
输出 行。每次操作后,如果当前可以反攻,输出 YES;否则输出 NO。
样例输入
3 6
2 3
2 1
1 2
1 3
3 1
3 2
11
1 3 2
1 2 3
1 1 3
1 1 2
3 1 3
3 3 2
2 3
1 3 1
3 1 3
4 2
1 3 2
样例输出
NO
NO
YES
NO
YES
NO
NO
NO
YES
NO
NO
样例说明
下图展示了样例操作过程中可用虫洞的变化,其中有向边表示当前可用的虫洞。

数据范围
对于所有数据:
- ;
- 所有虫洞端点均在 内;
- 输入操作满足上文所述合法性条件。
本题采用独立计分点,各子任务内所有测试点等分。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 20 | ,, |
| 2 | 40 | ,, |
| 3 | 无特殊限制 |