编程题
### 问题描述 在一个远古文明中,诺伊担任着密码解析师的职责,他需要通过解析一种古老的二进制密码获取重要信息。这种密码由一串二进制字符串组成,诺伊可以通过一种神秘的力量,选取长度为 $3$ 的子串并将其反转。诺伊发现,密码中 $1$ 的距离关系隐藏着重要的信息,他的目标是通过反转子串,使得任意两个 $1$ 之间的距离尽可能小。 请你帮助诺伊完成这个挑战,找出通过操作后,任意两个 $1$ 之间的最小距离。 ### 输入格式 输入的第一行包含一个整数 $T$,表示测试用例的数量。 每个测试用例由两行组成: - 第一行是一个整数 $N$,表示二进制字符串的长度。 - 第二行是一个长度为 $N$ 的二进制字符串,保证字符串中至少包含两个 $1$。 数据范围保证: - $1 \leq T \leq 1000$。 - $2 \leq N \leq 10^5$。 - $S_i$ 只能为 $0$ 或 $1$,且 $S$ 至少包含两个 $1$。 - 对于每个测试用例 $N$ 的总和不超过 $2 \times 10^5$。 ### 输出格式 对于每个测试用例,输出一行,表示通过操作后,任意两个 $1$ 之间的最小距离。 ### 样例输入 ```text 3 2 11 3 101 7 0100101 ``` ### 样例输出 ```text 1 2 1 ```
查看答案
赣ICP备20007335号-2