#P10069. [CCO2023] Flip it and Stick it
[CCO2023] Flip it and Stick it
题目描述
Finn 正在玩一款叫做「Flip it and Stick it」的游戏,简称为 FiSi。FiSi 是一款单人游戏,玩法是在两个由 0 和 1 组成的字符串 和 上进行操作。Finn 可以进行以下形式的操作:
选择 的一个子串并将其翻转,然后将字符串的各部分按照原来的顺序粘贴在一起,形成新的字符串 。 例如,Finn 可以取字符串 ,取从第 2 位开始的子串 (字符串的编号是从 开始的),并在一次操作中创建字符串 。
如果 不包含 作为子串,Finn 就赢得了游戏。你的任务是帮助 Finn 确定赢得游戏所需的最短操作序列的长度,或者告诉他游戏无法获胜。
输入格式
第一行一个字符串 。
第二行一个字符串 。
输出格式
输出一行一个整数,表示如果能赢得游戏所需的最少操作次数,否则输出 。
100110
10
2
000
00
-1
提示
样例解释 1
Finn 从字符串 开始。他无法通过一次操作后使得 不为子串,但他可以在两次操作后做到。
例如,他的第一次操作可以是翻转从第 4 位到第 6 位的子串(),得到 。然后,他的第二次操作可以是翻转从第 1 位到第 4 位的子串(),得到 ,它不包含 作为子串。
样例解释 2
无论 Finn 进行多少次操作,字符串 总会是 的子串。
对于所有的数据,有 ,。
设 。
子任务编号 | 分值 | 的限制 |
---|---|---|
1 | 4 | |
2 | 12 | |
3 | 16 | |
4 | 20 | |
5 | ||
6 | 28 |