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 完成