#L4035. 「CCO 2023」Flip it and Stick it

「CCO 2023」Flip it and Stick it

题目描述

译自 CCOCCO 20232023 Day2Day2 T1T1BinariaBinaria」。

Finn 正在玩一款名为「FlipFlip itit andand StickStick itit」(简称 FiSiFiSi)的单人游戏,玩法是在两个由 0011 组成的字符串 SSTT 上进行操作。Finn 可进行的操作形式为: 选择 SS 的一个子串并将其翻转,再将字符串各部分按原顺序粘贴,形成新的 SS

例如,若 S=101100S=101100,选择从第 22 位开始的子串 011011 翻转,可得到新 S=111000S=111000(字符串编号从 11 开始)。

若操作后 SS 不包含 TT 作为子串,则 Finn 获胜。你的任务是确定 Finn 获胜所需的最短操作序列长度,若无法获胜则输出 1-1

输入格式

  • 第一行:一个字符串 SS
  • 第二行:一个字符串 TT

输出格式

输出一行一个整数,表示最少操作次数;若无法获胜则输出 1-1

样例 1

输入

100110
10

输出

2

说明

Finn 无法通过 11 次操作让 SS 不包含 1010,但 22 次操作可以实现:

  1. 翻转第 4466 位的子串 110110,得到 100011100011
  2. 翻转第 1144 位的子串 10001000,得到 000111000111(不含子串 1010)。

样例 2

输入

000
00

输出

-1

说明

无论进行多少次操作,SS 始终包含子串 0000,无法获胜。

数据范围与提示

  • 对于所有数据:1S2×1051 \leq |S| \leq 2 \times 10^51T31 \leq |T| \leq 3
  • 子任务信息如下:
子任务编号 分值 TT 的限制
11 44 T=1|T|=1
22 1212 T=2|T|=2T1T2T_1 \neq T_2
33 1616 T=2|T|=2
44 2020 T=3|T|=3T1T3T_1 \neq T_3
55 T=3|T|=3T1T2T_1 \neq T_2
66 2828 T=3|T|=3