题目描述
【题目描述】
农夫约翰决定在他的农场周围建一个新的栅栏,但他总是分心,最终把栅栏建成一个比他想象的更奇怪的形状!
具体来说,FJ从位置(0,0)开始,走N步,每步向北、南、东或西移动一个单位的距离。他每走一步,身后都会铺上一层栅栏。例如,如果他的第一步是向北,他从(0,0)到(0,1)添加了一段栅栏。FJ可能会多次访问某个点,他甚至可能多次铺设同一段栅栏。如果他的路径穿过他已经建好的一排栅栏,他的栅栏甚至可能会自己交叉。
不用说,FJ对他完成围栏后的结果相当沮丧。他特别注意到,他现在可能已经把农场的一些区域与其他区域隔开了,这样人们就不能再不穿过栅栏就从一个地区走到另一个地区了。FJ想在他的栅栏上加门来解决这个问题。他可以在他所建造的任何单位长度的栅栏段上添加一个门,允许在这段的两侧之间通过。
请确定FJ需要建造的门的最小数量,这样农场的每个区域都可以从其他区域到达。
【输入格式】(gates.in):
第一行输入一个整数N(1≤N≤1000)。下一行包含一个长度为N的字符串,描述FJ的路径。每个字符都是N(北),E(东),S(南),就是W(西)。
【输出格式】(gates.out):
输出一个整数,给出FJ为恢复其农场所有区域的完整连接所需的最少门数。注意,如果农场一开始就是连接的,那么答案可能是零。
【样例输入】:
14
NNNESWWWSSEEEE
【样例输出】:
2