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 ```
题目描述了这样一个问题:给定两个长度相同的字符串 \( 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 ```