Build Gates.
El Granjero Juan decide construir un nuevo cerco alrededor de partes de su granja, pero se mantiene distraido y termina construyendo la cerca con una forma más extraña que lo que había pensado.
Especificamente, GJ comienza en la posición y toma
pasos, en cada uno se mueve una unidad de distancia al norte, al sur, al este o al oeste. En cada paso que él da, el deja una unidad de cerca detrás de él. Por ejemplo, si su primer paso fue hacia el norte, él añade un segmento de cerca de
a
. GJ podría volver a visitar puntos varias veces y él puede aún más poner el mismo segmento de cerca varias veces. Su cerca podría aún más cruzarse a si misma si su camino pasa a través de cerca que ya ha construido.
Está de más decirlo, GJ está algo disgustado con el resultado después de completar la cerca. En particular, él se da cuenta que él ahora puede haber particionado algunas ásreas de la granja de otras, de forma tal que no no puede caminar más de uan región a otra sin cruzar una cerca. A GJ le gustaría añadir puertas a sus cercs para arreglar este problema. Se puede añadir una puerta a cualr segmento unitario que él ha construido, permitiendo el pasaje entre dos lados de este segmento.
Por favor, determine el número mínimo de puertas que GJ necesita construir de tal manera que se pueda llegar a cada región de la granja desde cualquiera otra región.
Entrada
La primera línea de la entrada contiene
. La situiente línea contiene una cadena de longitud
describiendo el camino de GJ. Cada caracter es o
,
,
, o
.
Salida
Escriba un solo entero dando el mínimo número de puertas que GJ necesita construir para restaurar completamente la conectividad a todas las regiones de su granja. Note que la respuesta podría ser cero si la granja está ya conectada.
Ejemplo de Entrada
14
NNNESWWWSSEEEE
Ejemplo de Salida
2
USACO 2016 January Contest, Silver Problem 3. Build Gates.
Comments