/ WHOJ / 题库 /

打印任务

打印任务

题目描述

Bessie 有一个古老的点阵打印机,他可以用他的电脑来控制这台打印机。他能用电脑向这台打印机发出三种命令:

  • \(\texttt{SET}\)\(\text{(X)}\): 这个命令将字符 \(X\) 存进主存。
  • \(\texttt{NEXT}\)\(\text{(X)}\): 这个命令将字符 \(X\) 存进次要存储器。
  • \(\texttt{WRITE}\): 如果前一个命令不是 \(\texttt{NEXT}\),这个命令将主存的字符打印到纸上。如果前一个命令是 \(\texttt{NEXT}\),则将次要存储器的字符打印到纸上。

例如:“\(\texttt{AABAA}\)”,只需要 \(7\) 个命令:\(\texttt{SET}\)\(\text{(A)}\),\(\texttt{WRITE}\),\(\texttt{WRITE}\),\(\texttt{NEXT}\)\(\text{(B)}\),\(\texttt{WRITE}\),\(\texttt{WRITE}\),\(\texttt{WRITE}\)。

给定一个字符,求打印的最少命令。

第一个命令一定是 \(\texttt{SET}\)。

格式

输入格式

一行要打印的字符序列。这个序列长度不超过 \(10000\),由大写英文字母组成。

输出格式

输出一行一个整数,表示最少要用几个命令来打印这个字符序列。

样例1

样例输入1

BABCBACA

样例输出1

13

限制

对于 \(30\%\) 的数据:序列长度 \(<=30\)。
对于 \(100\%\) 的数据:序列长度 \(<=10000\)。