#P13303. [2025年队测]Magnets
[2025年队测]Magnets
题目翻译
题意
给定两个长度为 的二进制字符串 与 。
有 个方格从左到右排成一行,左起第 个称为方格 。初始时,若 则方格 里有一个棋子,若 则没有棋子。
你可以进行任意多次(包括 0 次)如下操作:
- 选择一个整数 ()。
- 让所有棋子同时向着方格 各移动一格:设某棋子当前位置为 ,新位置为 ,则
- 若 ,则 ;
- 若 ,则 ;
- 若 ,则 (留在原处)。
目标:判断是否能通过若干次操作,使得最终配置满足
对于每个 ,当且仅当 时,方格 至少有一个棋子。
若可以,求达到该目标所需的最少操作次数;否则输出 。
共有 个相互独立的测试用例。
约束
- 为长度为 的仅由
0/1构成的字符串 - 至少存在一个位置使
- 至少存在一个位置使
- 所有测试用例的 之和不超过
输入格式
T
case_1
case_2
…
case_T
其中第 个测试用例如下给出:
N
A
B
输出格式
输出共 行。第 行为第 个测试用例的答案:
若无法达到目标,输出 -1;否则输出所需的最少操作次数。
样例输入
3
8
01001101
00001011
3
010
111
20
10100011011110101011
00010001111101100000
样例输出
3
-1
5
说明(样例 1)
初始各格棋子个数为 。按如下三次操作可满足目标:
- 选 :变为
- 选 :变为
- 再选 :变为
证明少于三次不可能,因此答案为 3。第二个用例无论如何操作都无法达成目标,答案为 -1。
| 子任务 | 限制条件 | 分值 |
|---|---|---|
| 子任务 1 | (所有测试用例的 之和 ) | 10 分 |
| 子任务 2 | (所有测试用例的 之和 ) | 20 分 |
| 子任务 3 | 中的所有 1 连成一个连续段(即 的 1 仅有一个连续区间) |
30 分 |
| 子任务 4 | 无额外限制,满足原始数据范围( 之和 等) | 40 分 |