AT_abc454_d [ABC454D] (xx)

题目背景

**翻译由 deepseek 提供**

题目描述

给定一个由 `(`, `x`, `)` 组成的字符串 $A$。 你可以按任意顺序对 $A$ 进行任意次数的以下两种操作: - 选择 $A$ 中一个出现的子串 `(xx)`,并将其替换为 `xx`。 - 选择 $A$ 中一个出现的子串 `xx`,并将其替换为 `(xx)`。 给定另一个由 `(`, `x`, `)` 组成的字符串 $B$。请判断是否可以通过操作使 $A$ 等于 $B$。 你将面对 $T$ 组测试用例;请解决每一组。 关于子串 字符串 $S$ 的一个**子串**是指通过从 $S$ 的开头删除零个或多个字符,并从 $S$ 的结尾删除零个或多个字符而得到的字符串。 例如,`ab` 是 `abc` 的子串,但 `ac` 不是 `abc` 的子串。

输入格式

输入通过标准输入给出,格式如下: > $T$ > $\mathrm{case}_1$ > $\mathrm{case}_2$ > $\vdots$ > $\mathrm{case}_T$ 每个测试用例的格式如下: > $A$ > $B$

输出格式

输出 $T$ 行。第 $i$ 行应包含第 $i$ 个测试用例的答案。 对于每个测试用例,如果可以使 $A$ 等于 $B$ 则输出 `Yes`,否则输出 `No`。

说明/提示

### 样例解释 1 例如,在第一个测试用例中,可以通过以下操作使 $A$ 等于 $B$: - 将 $A$ 中第 $1$ 到第 $4$ 个字符的 `(xx)` 替换为 `xx`。此操作后,$A$ 变为 `xxx`。 - 将 $A$ 中第 $2$ 到第 $3$ 个字符的 `xx` 替换为 `(xx)`。此操作后,$A$ 变为 `x(xx)`。 ### 约束条件 - $1 \leq T \leq 3 \times 10^5$ - $A$ 和 $B$ 是长度在 $1$ 到 $2\times 10^6$ 之间的字符串(包含端点),由 `(`, `x`, `)` 组成。 - 所有测试用例的 $|A| + |B|$ 之和不超过 $2 \times 10^6$(其中 $|A|$ 表示 $A$ 的长度)。