CF1795A Two Towers

题目描述

有两座由红色和蓝色方块组成的塔。两座塔都用只包含字符 B 和/或 R 的字符串表示,表示从下到上的方块顺序,其中 B 表示蓝色方块,R 表示红色方块。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1795A/69c3335e48895bcb4c761995acd0b1c64b9e8d07.png) 这两座塔分别用字符串 BRBB 和 RBR 表示。你可以进行如下操作任意次:选择一座至少有两个方块的塔,将其顶部的方块移动到另一座塔的顶部。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1795A/1c4aa5e98141199029dbc159f3efac85b139c1b9.png) ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1795A/e96b9925d26bf52f3d8e10b859d46a71421db524.png)如果没有任何一对相邻的方块颜色相同(即没有红色方块叠在红色方块上,也没有蓝色方块叠在蓝色方块上),则称这对塔是“美丽的”。 你需要判断是否可以通过若干次(可能为零次)上述操作,使得这对塔变得美丽。

输入格式

第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。 每个测试用例包含三行: - 第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 20$),分别表示第一座塔和第二座塔的方块数量; - 第二行包含一个长度为 $n$ 的字符串 $s$,只包含字符 B 和/或 R,表示第一座塔; - 第三行包含一个长度为 $m$ 的字符串 $t$,只包含字符 B 和/或 R,表示第二座塔。

输出格式

对于每个测试用例,如果可以通过若干次(可能为零次)操作使这对塔变得美丽,输出 YES;否则输出 NO。 你可以以任意大小写输出答案(YES、yes、Yes 都视为正解,NO、no、nO 都视为负解)。

说明/提示

在第一个测试用例中,你可以将第一座塔的顶部方块移动到第二座塔上(见第三张图片)。 在第二个测试用例中,你可以将第二座塔的顶部方块移动到第一座塔 $6$ 次。 在第三个测试用例中,这对塔已经是美丽的。 由 ChatGPT 4.1 翻译