| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 127 | 33 | 32 | 28.070% |
Bessie has recently gotten into chemistry. At the moment, she has two different colors 1ドル$ and 2ドル$ of various liquids that don't mix well with one another. She has two test tubes of infinite capacity filled with $N$ $(1 \leq N \leq 10^5)$ units each of some mixture of liquids of these two colors. Because the liquids don’t mix, once they settled, they divided into layers of separate colors. Because of this, the two tubes can be viewed as strings $f_1f_2\ldots f_N$ and $s_1s_2\ldots s_N$ where $f_i$ represents the color of the liquid that is $i$ units from the bottom of the first tube, and $s_i$ represents the color of the liquid that is $i$ units from the bottom of the second tube. It is guaranteed that there is at least one unit of each color of liquid.
Bessie wants to separate these liquids so that each test tube contains all units of one color of liquid. She has a third empty beaker of infinite capacity to help her in this task. When Bessie makes a "pour", she moves all liquid of color $i$ at the top of one test tube or beaker into another.
Determine the minimum number of pours to separate all the liquid into the two test tubes, and the series of moves needed to do so. It does not matter which test tube ends up with which color, but the beaker must be empty..
There will be $T$ (1ドル \leq T \leq 10$) test cases, with a parameter $P$ for each test case.
Suppose the minimum number of pours to separate the liquids into the original tubes is $M$.
The first line contains $T,ドル the. number of test cases. For each test case, the next line contains $N$ and $P$ representing the amount each test tube is initially filled to, and the query type. The following line contains $f_1f_2f_3\ldots f_N$ representing the first test tube. $f_i \in \{ 1,2 \}$ and $f_1$ represents the bottom of the test tube. The subsequent line contains $s_1s_2s_3\ldots s_N$ representing the second test tube. $s_i \in \{ 1,2 \}$ and $s_1$ represents the bottom of the test tube.
It is guaranteed that there will be at least one 1ドル$ and one 2ドル$ across both input strings.
For each test case, you will print a single number representing the minimum pours to separate the liquid in the test tubes. Depending on the query type, you may also need to provide a valid construction.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 20 | $P=1$ |
| 2 | 20 | $P=2$ |
| 3 | 60 | No additional constraints. |
6 4 1 1221 2211 4 2 1221 2211 4 3 1221 2211 6 3 222222 111112 4 3 1121 1222 4 2 1121 1222
4 4 1 2 1 3 2 1 3 2 4 1 2 1 3 2 1 3 2 1 2 1 5 2 3 1 2 1 3 1 2 3 1 6 2 3 1 2 1 3 1 2 2 1 3 2
In the first three test cases, the minimum number of pours to separate the tubes is 4ドル$. We can see how the following moves separate the test tubes:
Initial state:
1: 1221 2: 2211 3:
After the move "1 2":
1: 122 2: 22111 3:
After the move "1 3":
1: 1 2: 22111 3: 22
After the move "2 1":
1: 1111 2: 22 3: 22
After the move "3 2":
1: 1111 2: 2222 3:
In the last test case, the minimum amount of pours is 5ドル$. However, since $P=2,ドル the given construction with 6ドル$ moves is valid since it is within 5ドル$ pours from the optimal answer.