#P2557. Fold

Fold

本题没有可用的提交语言。

描述

阅读问题E:《边》(Edge)的问题陈述,以了解如何折叠一张纸以及如何解读输入内容。我们将“条带”定义为纸张上最大的部分,且没有折叠线穿过它。由于折痕出现在等距的位置,所有的条带都是全等的。

在这个问题中,你会得到如同问题E:《边》中那样执行了若干次折叠步骤后的结果描述,也就是在展开状态下的描述。此外,你知道纸张在折叠状态下的长度恰好等于1个条带的长度(同样,我们忽略纸张的厚度)。

找出从最初平整的纸张生成所描述的纸张所需的最少折叠步骤数。请注意,执行一次折叠步骤可能会在结果中产生多个折痕,因为纸张的某些部分由于之前的折叠步骤已经重叠了。然而,当执行一个步骤时,纸张所有重叠的部分都会受到影响,也就是说,不允许只折叠例如最上面的三层。

最后,请注意,每一个结果都可以通过在一个固定方向上遍历折痕,并在每个折痕处执行一次折叠步骤来得到,从而累积形成一个由所有条带组成的长度为1个条带的纸叠。如果输入描述中的折痕数量为(n),实际上这个过程需要(n)次折叠步骤,但这不一定是最少的折叠步骤数,这可以从样例输出中看出来。

输入

输入包含若干个测试用例,每个测试用例占一行。每一行包含一个由字符'A'和'V'组成的非空字符串,用于描述纸张的较长边。你可以假设字符串的长度小于200。输入文件在最后一个测试用例之后立即结束。

输出

对于每个测试用例,在一行上打印生成所描述的纸张所需的最少折叠步骤数。

输入数据1

V
AVV
AAVAAVVVAAV

输出数据1

1
2
4

来源

乌尔姆本地赛 2003 年