#dwacon2018prelimsb. [dwacon2018_prelims_b]2525文字列分解
[dwacon2018_prelims_b]2525文字列分解
问题描述
dwango公司的成员Niwango先生正在开发一种名为2525SNS的新型社交网络服务。 2525SNS是一种创新的社交网络平台,只能发布2525字符串。
在本问题中,称由字符25
的重复出现一次或多次组成的字符串为2525字符串。例如,25
、2525
、2525252525252525
等都是2525字符串,但空字符串或2255
、2552
、252
等不是2525字符串。
首先,Niwango先生决定创建一些2525字符串。他想将手头上的字符串s分解为至少一个子序列,并使得每个子序列都是2525字符串。
请问,最少需要将字符串s分解为多少个子序列才能实现这一目标?如果无论如何分解都无法实现,请输出-1
。关于分解的详细说明,请参考示例1。
约束条件
- 字符串s只包含
2
和5
输入
从标准输入中按以下格式给出输入。
输出
输出答案。
示例1
225525
输出1
2
- 如果将字符串分解为一个子序列,
225525
不是2525字符串,因此不满足条件。 - 其他的分解方式可以是
($25$,$2525$)
和($25$,$25$,$25$)
。下面分别给出每种分解中满足条件的例子和不满足条件的例子。请注意,在每个子序列中,需要保持s中相对出现顺序的准确性。 - 分解为两个子序列
($25$,$2525$)
可以使得每个子序列都是2525字符串。
示例2
52
输出2
-1
- 有两种分解方法,但无论如何分解,都无法使每个子序列都成为2525字符串。
- 请注意,无法将其分解为
5
和2
,然后交换它们的顺序以形成25
。
示例3
2255252252222555552522255255
输出3
5
示例4
25252
输出4
-1