编程题
### 问题描述 小齐决定在他的农场周围修建新的围栏,但是他总是分心,最终修建的围栏形状比他预期的要奇怪得多! 具体而言,小齐从位置 $(0,0)$ 开始,向北、南、东或西移动 $N$ 步中的每一步,每一步都在他身后留下一段围栏。例如,如果他的第一步是向北,他会在 $(0,0)$ 到 $(0,1)$ 之间添加一段围栏。小齐可能多次访问同一点,甚至可能多次修建相同的围栏段。他的围栏甚至可能交叉,如果他的路径穿过他已经建好的围栏。 不用说,小齐在完成围栏后感到相当沮丧。特别是,他注意到现在可能情况是他现在将农场的一些区域与其他区域隔离开来,因此不能在不穿越围栏的情况下从一个区域到达另一个区域。小齐想要在他的围栏上添加门来解决这个问题。门可以添加到他已经修建的任何单位长度的围栏段上,允许在该段两侧通行。 请确定小齐需要建造的门的最小数量,以便从农场的每个区域再次可以到达任何其他区域。 ### 输入格式 第一行输入包含一个整数 $N$,表示小齐的步数。接下来一行包含一个长度为 $N$ 的字符串,描述小齐的路径。每个字符可以是 $N$(北)、$E$(东)、$S$(南)或 $W$(西)。 ### 输出格式 输出一个整数,表示小齐需要建造的最小门数,以恢复农场的完全连通性。请注意,如果农场一开始就是连通的,则答案可能为零。 ### 样例输入 ``` 14 NNNESWWWSSEEEE ``` ### 样例输出 ``` 5 ``` ### 评测数据规模 $1 \leq N \leq 1000$。
查看答案
赣ICP备20007335号-2