#SC2024SD3T9. 二进制串的修补
二进制串的修补
题目描述
我们假设一个长度为 的 串 是 完美的,需要满足以下条件:
(假设字符串下标从 开始)
现在给你一个 串,及其长度 ,还有 的值。你可以选择一个前缀,将其翻转,然后放到串的最后。这个操作需要进行 刚好一次。
例如 ,将长度为 的前缀翻转,并放到串的最后,可变成 。
你希望通过这次操作将字符串翻转成 完美的。比如:若 ,刚刚的翻转方式就是一种满足要求的方案。
若翻转方式存在,则输出被翻转前缀长度的最小值。若不存在,输出 。
需要注意的是,若一开始这个串就是 完美的,你也需要翻转一次。
输入格式
第一行为 ,且保证 是 的因数。
第二行一个长度为 的 串。
输出格式
输出被翻转前缀长度的最小值。若不存在,输出 。
12 2
110001100110
3
8 4
11111111
1
4 2
1110
-1