CF2164D Copy String
Description
Given two strings $ s $ and $ t $ of length $ n $ , you aim to transform $ s $ into $ t $ through a series of the following operations:
- Construct a new string $ s' $ of length $ n $ ,where $ s'_1=s_1 $ . For each $ 1 < i \le n $ , $ s'_i $ can be either $ s_i $ or $ s_{i-1} $ . Then replace $ s $ with $ s' $ .
Your task is to achieve this transformation using the minimum number of operations. You also need to output the solution by printing the constructed string $ s' $ after each operation. If the transformation cannot be achieved in less than or equal to $ k_{\mathrm{max}} $ operations, output -1.
Input Format
Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 10^4 $ ). The description of the test cases follows.
The first line of each test case contains two integers $ n $ , $ k_{\mathrm{max}} $ ( $ 1 \le n \cdot k_{\mathrm{max}} \le 10^6 $ ) — the length of two strings and the maximum number of operations that can be used.
The second line of each test case contains one string $ s $ of length $ n $ .
The third line of each test case contains one string $ t $ of length $ n $ .
It is guaranteed that the sum of $ nk_{\mathrm{max}} $ over all test cases does not exceed $ 10^6 $ .
It is guaranteed that both $ s $ and $ t $ consist of lowercase Latin letters.
Output Format
For each test case:
- If you cannot achieve the transformation in less than or equal to $ k_{\mathrm{max}} $ operations, simply output -1 in one line.
- Otherwise, on the first line, output one integer $ k \le k_{\mathrm{max}} $ — the minimum number of operations. Then $ k $ lines follow, each line contains one string of length $ n $ — the string after each operation.
If there are multiple solutions, output any.
Explanation/Hint
In the first test case, obviously $ s $ can be transformed to $ t $ in one operation.
In the second test case, initially $ s=t $ , so no operation is needed.
In the fourth test case, although $ s $ can be transformed to $ t $ in two operations, but $ k_{\mathrm{max}}=1 $ , so the answer is -1.