14075: Орієнтація паркану-Clockwise Fence-USACO2021FebBronze


Відправити розв'язок

Бали: 100 (partial)
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Фермер Джон вирішив замінити загорожу навколо свого пасовища.

Ця нова огорожа описується рядком символів, кожен з яких "N" (north), "E" (east), "S" (south), або "W" (west). Кожен символ описує 1 метр огорожі. Наприклад, якщо рядок NESW, це означає, що огорожа починається одним метром на північ, потім 1 метр на схід, потім 1 метр на південь, а потім 1 метр на захід, повертаючись до стратової точки.


Огорожа завжди закінчується в тій же позиції, де стартувала, і це - єдина точка, відвідана більше одного разу шляхом огорожі (а стартова точка, єдина точка відвідана вдруге - наприкінці шляху). Як наслідок, огорожа обмежує один зв'язковий регіон трав'яного пасовища, навіть якщо цей регіон може мати досить дивну форму.

ФД хоче дізнатися, чи описаний шлях іде за годинниковою стрілою чи проти годинникової стрілки? За годинниковою стрілкою - обгороджена ділянка знаходиться праворуч від огорожі, якщо йти по дорозі, визначеному рядком. Проти годинникової стрілки - обгороджена діялнка знаходиться ліворуч від огорожі, якщо йти по дорозі, визначеному рядком.

Формат вхідних даних

Перший рядок містить ціле число \(N\) (\(1 \leq N \leq 20\)). Кожен з наступних \(N\) рядків містить рядок довжиною не менше 4 символів і не більше 100, який описує шлях огорожі.

Формат вихідних даних

Для кожного з \(N\) шляхів, описаних у вхідних даних, виведіть рядок, що містить "CW" (clockwise - за годинниковою стрілкою) або "CCW" (counterclockwise - проти годинникової стрілки).

Приклад вхідних даних

2
NESW
WSSSEENWNEESSENNNNWWWS

Приклад вихідних даних

CW
CCW

Дві огорожі з символом @, що позначає початкову точку:

*>*
^ v
@<*

  *<*<*<*
  v     ^
*<@     *
v       ^
* *>*>* *
v ^   v ^
* *<* * *
v   ^ v ^
*>*>* *>*

Коментарі

Ще немає коментарів.