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$ 的长度)。