309550: CF1697C. awoo's Favorite Problem

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

awoo's Favorite Problem

题意翻译

### 翻译 #### 题目描述 你会得到两个长度为 $n$ 的字符串 $s$ 和 $t$。 两个字符串中的每个字符都是`a`、`b`或`c`。 在一个操作中,您可以执行其中之一: 选择 $s$ 中出现的 `ab` 并将其替换为 `ba` ; 选择 $s$ 中出现的 `bc` 并将其替换为 `cb`。 您可以执行任意数量的移动(可能为零)。 您可以更改字符串 $s$ 以使其等于字符串 $t$ 吗? #### 输入格式 第一行一个整数 $q$ ( $1≤q≤10^4$ ),表示数据的组数。 对于每组测试用例,第一行一个整数 $n$ ( $1≤n≤10^5$ ),表示字符串 $s$ 和 $t$ 的长度。 第二行包含长度为 $n$ 的字符串 $s$。 每个字符是`a`、`b`或`c`。 第三行包含长度为 nn 的字符串 tt 。 每个字符是`a`、`b`或`c`。 所有测试用例的 $n$ 总和不超过 $10^5$。 #### 输出格式 $q$ 行,每组测试用例一行,为 `YES` 或 `NO`,表示是否能将串 $s$ 变为串 $t$。

题目描述

You are given two strings $ s $ and $ t $ , both of length $ n $ . Each character in both string is 'a', 'b' or 'c'. In one move, you can perform one of the following actions: - choose an occurrence of "ab" in $ s $ and replace it with "ba"; - choose an occurrence of "bc" in $ s $ and replace it with "cb". You are allowed to perform an arbitrary amount of moves (possibly, zero). Can you change string $ s $ to make it equal to string $ t $ ?

输入输出格式

输入格式


The first line contains a single integer $ q $ ( $ 1 \le q \le 10^4 $ ) — the number of testcases. The first line of each testcase contains a single integer $ n $ ( $ 1 \le n \le 10^5 $ ) — the length of strings $ s $ and $ t $ . The second line contains string $ s $ of length $ n $ . Each character is 'a', 'b' or 'c'. The third line contains string $ t $ of length $ n $ . Each character is 'a', 'b' or 'c'. The sum of $ n $ over all testcases doesn't exceed $ 10^5 $ .

输出格式


For each testcase, print "YES" if you can change string $ s $ to make it equal to string $ t $ by performing an arbitrary amount of moves (possibly, zero). Otherwise, print "NO".

输入输出样例

输入样例 #1

5
3
cab
cab
1
a
b
6
abbabc
bbaacb
10
bcaabababc
cbbababaac
2
ba
ab

输出样例 #1

YES
NO
YES
YES
NO

Input

题意翻译

### 翻译 #### 题目描述 你会得到两个长度为 $n$ 的字符串 $s$ 和 $t$。 两个字符串中的每个字符都是`a`、`b`或`c`。 在一个操作中,您可以执行其中之一: 选择 $s$ 中出现的 `ab` 并将其替换为 `ba` ; 选择 $s$ 中出现的 `bc` 并将其替换为 `cb`。 您可以执行任意数量的移动(可能为零)。 您可以更改字符串 $s$ 以使其等于字符串 $t$ 吗? #### 输入格式 第一行一个整数 $q$ ( $1≤q≤10^4$ ),表示数据的组数。 对于每组测试用例,第一行一个整数 $n$ ( $1≤n≤10^5$ ),表示字符串 $s$ 和 $t$ 的长度。 第二行包含长度为 $n$ 的字符串 $s$。 每个字符是`a`、`b`或`c`。 第三行包含长度为 nn 的字符串 tt 。 每个字符是`a`、`b`或`c`。 所有测试用例的 $n$ 总和不超过 $10^5$。 #### 输出格式 $q$ 行,每组测试用例一行,为 `YES` 或 `NO`,表示是否能将串 $s$ 变为串 $t$。

Output

**题目大意:**

题目描述了这样一个问题:给定两个长度相同的字符串 \( s \) 和 \( t \),字符串中只包含字符 'a'、'b' 和 'c'。允许执行两种操作:将 \( s \) 中的 "ab" 替换为 "ba",或将 "bc" 替换为 "cb"。问是否能通过任意次数(包括零次)的操作,使得字符串 \( s \) 变成字符串 \( t \)。

**输入输出数据格式:**

- **输入格式:**
- 第一行包含一个整数 \( q \)(\( 1 \le q \le 10^4 \)),表示测试用例的数量。
- 每个测试用例包含三行:
- 第一行包含一个整数 \( n \)(\( 1 \le n \le 10^5 \)),表示字符串 \( s \) 和 \( t \) 的长度。
- 第二行包含一个长度为 \( n \) 的字符串 \( s \),只包含字符 'a'、'b' 或 'c'。
- 第三行包含一个长度为 \( n \) 的字符串 \( t \),同样只包含字符 'a'、'b' 或 'c'。
- 所有测试用例的 \( n \) 之和不超过 \( 10^5 \)。

- **输出格式:**
- 对于每个测试用例,如果可以通过执行任意次数的操作(可能为零次)将字符串 \( s \) 变为字符串 \( t \),则输出 "YES",否则输出 "NO"。每个测试用例的答案占一行。

**输入输出样例:**

- **输入样例 #1:**
```
5
3
cab
cab
1
a
b
6
abbabc
bbaacb
10
bcaabababc
cbbababaac
2
ba
ab
```
- **输出样例 #1:**
```
YES
NO
YES
YES
NO
```**题目大意:** 题目描述了这样一个问题:给定两个长度相同的字符串 \( s \) 和 \( t \),字符串中只包含字符 'a'、'b' 和 'c'。允许执行两种操作:将 \( s \) 中的 "ab" 替换为 "ba",或将 "bc" 替换为 "cb"。问是否能通过任意次数(包括零次)的操作,使得字符串 \( s \) 变成字符串 \( t \)。 **输入输出数据格式:** - **输入格式:** - 第一行包含一个整数 \( q \)(\( 1 \le q \le 10^4 \)),表示测试用例的数量。 - 每个测试用例包含三行: - 第一行包含一个整数 \( n \)(\( 1 \le n \le 10^5 \)),表示字符串 \( s \) 和 \( t \) 的长度。 - 第二行包含一个长度为 \( n \) 的字符串 \( s \),只包含字符 'a'、'b' 或 'c'。 - 第三行包含一个长度为 \( n \) 的字符串 \( t \),同样只包含字符 'a'、'b' 或 'c'。 - 所有测试用例的 \( n \) 之和不超过 \( 10^5 \)。 - **输出格式:** - 对于每个测试用例,如果可以通过执行任意次数的操作(可能为零次)将字符串 \( s \) 变为字符串 \( t \),则输出 "YES",否则输出 "NO"。每个测试用例的答案占一行。 **输入输出样例:** - **输入样例 #1:** ``` 5 3 cab cab 1 a b 6 abbabc bbaacb 10 bcaabababc cbbababaac 2 ba ab ``` - **输出样例 #1:** ``` YES NO YES YES NO ```

加入题单

算法标签: