CF2061H1 Kevin and Stones (Easy Version)
题目描述
这是本题的简单版本。两个版本的区别在于,在此版本中你只需判断是否存在有效的操作序列。只有当你解决了本题所有版本时才能进行 Hack。
Kevin 有一个包含 $n$ 个顶点和 $m$ 条边的无向图。初始时,某些顶点上有石子,Kevin 想要将这些石子移动到新位置。
Kevin 可以执行以下操作:
- 对于每个位于 $u_i$ 的石子,选择一个相邻顶点 $v_i$。同时将所有石子从各自的 $u_i$ 移动到对应的 $v_i$。
在任何时刻,每个顶点最多只能包含一个石子。
请判断是否存在有效的操作序列,可以将石子从初始状态移动到目标状态。
输入格式
每个测试包含多个测试用例。第一行包含测试用例数量 $t$($1 \le t \le 1000$)。接下来是各个测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 2000$,$0 \leq m \leq \min(\frac{n(n-1)}{2}, 10^4)$)—— 图中顶点数和边数。
第二行包含一个由 '0' 和 '1' 组成的二进制字符串 $s$。$s$ 的第 $i$ 位表示初始状态下第 $i$ 个顶点上的石子数量。
第三行包含一个由 '0' 和 '1' 组成的二进制字符串 $t$。$t$ 的第 $i$ 位表示目标状态下第 $i$ 个顶点上的石子数量。
接下来的 $m$ 行每行包含两个整数 $u$ 和 $v$($1 \leq u, v \leq n$)—— 表示第 $u$ 个顶点与第 $v$ 个顶点之间有一条无向边。
保证图是简单图(没有自环和平行边)。
保证 $s$ 和 $t$ 中 '1' 的数量相同。
保证所有测试用例的 $n$ 之和不超过 $2000$。
保证所有测试用例的 $m$ 之和不超过 $10^4$。
输出格式
对于每个测试用例,在第一行输出 "Yes" 或 "No" 表示是否存在有效的操作序列。
你可以以任意大小写形式输出答案(例如 "yEs"、"yes"、"Yes"、"YES" 都会被识别为肯定答案)。
翻译由 DeepSeek R1 完成