P7177: 宏编码
传统题
1.000s
时间限制
256MB
内存限制
1 提交
1 解决
【题目描述】
【题目描述】
我们的一辆老式火星漫游者已经接近完成任务,正在等待最后一次火星表面探测任务的指示。调查小组已经选定了一条路线,并委托您将最后一组指令发送给火星车。这条路线只是一系列基本方向的移动:北、南、东、西。这些指令可以使用一系列相应的字符发送:N、S、E和W。然而,接收到信号会耗尽火星车的电源,而电源已经非常低。幸运的是,漫游者的创建者内置了一种能力,可以选择定义一个“宏”,如果路线有很多重复,可以使用这个“宏”。更具体地说,要用宏发送消息,需要发送两个字符串。第一个是在字符{N,S,E,W,M}上,第二个是在{N,S,E,W}上。第一个字符串表示对宏(M)的一系列移动和调用,而第二个字符串决定宏扩展到什么。例如:
WNMWMME
EEN
是
WNEENWEENEENE 编码
请注意,带有宏的编码
只需要10字符,而原编码
需要13个字符。
给定一条路线,确定将其传输到漫游者所需的最小字符数。
【输入】
输入由一行组成,该行包含一个非空字符串,该字符串由字母N、S、E和W组成,表示传输到漫游者的路线。字符串的最大长度为100。
【输出】
显示对路线进行编码所需的最小字符数。
【样本输入1】
WNEENWEENEENE
【样本输出1】
10
【样本输入2】
ESEW
【样本输出2】
4
【样本输入3】
EEEEEEEEE
【样本输出3】
6