AT_dwacon2018_prelims_b 2525文字列分解
题目描述
dwango 公司的 Niwango 君正在开发一款名为 2525SNS 的新型社交网络服务。2525SNS 是一款只允许发布 2525 字符串的创新型 SNS。
在本题中,所有能表示为 `25` 至少一次重复拼接而成的字符串称为 2525 字符串。例如,`25`、`2525`、`2525252525252525` 等均为 2525 字符串,而空字符串、`2255`、`2552`、`252` 等都不是 2525 字符串。
首先,Niwango 君想要生成一些 2525 字符串。他手中有一个字符串 $s$,他希望将其拆分成 $1$ 个或更多的子串,使得每个被拆分出来的子串均为 2525 字符串。
请你回答,至少需要将 $s$ 拆分成多少个子串,才能满足要求?如果无论如何拆分都无法满足条件,请输出 $-1$。有关拆分规则详见样例 $1$ 的说明。
输入格式
输入通过标准输入给出,格式如下:
> $s$
输出格式
输出答案。
说明/提示
## 限制条件
- $1\leq |s| \leq 2{,}525$
- $s$ 只由 `2` 和 `5` 组成
## 样例解释 1
- 如果将 `225525` 拆分为 $1$ 个子串,则它不是 2525 字符串,因此不满足条件。
- 其他拆分方法,例如将其拆分为 $($`25`, `2525`$)$ 或 $($`25`, `25`, `25`$)$。下面分别给出符合要求和不符合要求的拆分示例。需要注意,每个子串中的相对出现顺序必须与 $s$ 中保持一致。
- 将 `225525` 拆分为 $2$ 个子串 $($`25`, `2525`$)$,可以使每个子串均为 2525 字符串,如下所示。

## 样例解释 2
- 虽然有 $2$ 种拆分方法,但无论如何拆分都无法使所有子串均为 2525 字符串。
- 注意到,将 `5` 和 `2` 分拆后,即使交换顺序也无法组成 `25`。
由 ChatGPT 5 翻译