printРабочее место участника

printЗадачи

2309. Поимка пиратов

Ограничения: время – 1s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

К острову, на который высадились пираты, подошел фрегат. Пираты разбежались по острову, но у капитана фрегата есть точная карта острова и он знает, куда пираты будут убегать, оказавшись на той или иной местности. Капитан может послать отряды в те части острова, куда пираты придут через какое-то время, бегая по острову.
Напишите программу, вычисляющую минимальное количество отрядов, которые нужно послать капитану на поимку пиратов.
Первая строка ввода содержит два целых числа `N` и `M` (`1\ ≤\ N,\ M\ ≤\ 1000`) – размеры острова. Далее следует `N` строк, содержащих по `M` символов N, S, W и E. Символ N означает, что пират при попадании на этот участок местности побежит на север (вверх), символ S – на юг (вниз), символ W – на запад (влево), символ E – на восток (вправо). Гарантируется, что символы на краях острова не ведут за пределы острова.
Вывести одно целое число – минимальное количество отрядов для поимки пиратов.

Пример ввода

3 4
EEES
NEWS
NWWW

Пример вывода

2
loading