QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 32 MB Total points: 10

#13514. Jasiek

統計

Jasiek ma dopiero 6 lat, ale już przejawia liczne talenty. Bardzo lubi rysować i układać zagadki. Dzisiaj rano dostał od mamy kartkę w kratkę, ołówek i z wielką ochotą zabrał się do rysowania. Wszystkie rysunki Jaśka mają pewne wspólne cechy:

  • Jasiek zaczernia pełne kratki;
  • jeżeli dwie zaczernione kratki dotykają się, to mają wspólny bok lub róg;
  • są spójne, co oznacza, że między każdymi dwiema zaczernionymi kratkami istnieje ciąg zaczernionych kratek, w którym każde dwie kolejne kratki mają wspólny bok;
  • nie ma białych dziur, czyli że z każdej białej kratki można narysować linię do brzegu kartki, która nigdy nie dotknie jakiejkolwiek zaczernionej kratki.

W południe zadzwoniła mama i zapytała, co przedstawia dzisiejszy rysunek Jaśka. Maluch nie odpowiedział wprost, tylko opisał rysunek podając ciąg ruchów potrzebnych do obejścia zaczernionych kratek na brzegu rysunku, czyli takich, które mają co najmniej jeden wspólny róg z jakąś białą kratką. Jasiek ustalił kratkę początkową, a następnie podał ciąg kierunków, w których należy się posuwać, żeby obejść cały rysunek. Wiadomo, że Jasiek opisał rysunek w kierunku przeciwnym do ruchu wskazówek zegara. Mama była wielce zaskoczona złożonością rysunku, a w szczególności liczbą zaczernionych kratek. Czy potrafiłbyś na podstawie opisu Jaśka szybko obliczyć, ile jest zaczernionych kratek na rysunku?

Task

Napisz program, który:

  • wczyta (ze standardowego wejścia) opis rysunku Jaśka,
  • policzy liczbę wszystkich zaczernionych kratek,
  • wypisze wynik (na standardowe wyjście).

Input

Wejście składa się z szeregu wierszy, z których każdy zawiera tylko jeden znak. Wiersz pierwszy zawiera dużą literę P, natomiast wiersz ostatni - dużą literę K. Litera P oznacza początek opisu, a litera K jego koniec. W każdym z pozostałych wierszy (jeżeli takie są) zapisano jedną literę N, W, S lub E, gdzie N oznacza północ, W - zachód, S - południe, a E - wschód. Każdy wiersz wejścia odpowiada pewnej kratce na brzegu rysunku. Wiersz pierwszy i ostatni odpowiadają tej samej kratce, od której zaczyna się i w której kończy się opis. Litera w wierszu różnym od wiersza pierwszego i ostatniego mówi, w którym kierunku należy pójść, żeby przejść do kolejnej kratki brzegowej przy obchodzeniu rysunku przeciwnie do ruchu wskazówek zegara. Opis Jaśka nie jest nadmiarowy, tzn. kończy się po obejściu całego rysunku i dotarciu do kratki początkowej. Długość opisu nigdy nie przekracza $20\,000$ liter.

Output

Twój program powinien wypisać (na standardowe wyjście) tylko jeden wiersz z jedną liczbą całkowitą równą liczbie zaczernionych kratek na rysunku Jaśka.

Example

Input

P
S
S
S
E
N
E
E
S
E
E
N
N
N
N
S
S
S
W
W
N
N
W
W
W
N
S
K

Output

23

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.