У цьому виклику ви підрахуєте, наскільки велика ваша земля.
Напишіть програму або функцію, яка обчислює розмір вашої землі, враховуючи побудовану стіну. Вам надається не порожній рядок введення, що містить набір з 4-х різних символів на ваш вибір, які представляють чотири напрямки "вгору", "вниз", "вліво" та "праворуч" (я використаю ^ v < >в цьому виклику). Не можна робити повороти ( <>або ^v) на 180 градусів , але ви можете перетнути стіну.
Те, як ви «захоплюєте» землю, - оточуючи її стіною. Сама стіна також вважається частиною вашої землі. Кілька прикладів зробить це більш зрозумілим. Я буду використовувати oдля землі, яка була обнесена стіною, xдля самої стіни та Sдля початкової точки стіни, просто для того, щоб проілюструвати, як будується стіна. Вихід повинен бути загальний розмір вашої землі (число o, xі Sв випадках випробування нижче).
Input: >>>>
Land: Sxxxx
Output: 5
Input: <<<^^^>>>vv
Land:
xxxx
xoox
xoox
xxxS
Output: 16
Input: <<<^^^>>>v
Land:
xxxx
x x
x
xxxS
Output: 11
Input: <
Land: xS
Output: 2
Input: >>>>>>vvvvvvvvv<<<<<^^^^>>>>>>>>vvvvvvvvvv<<<<<<<<<<<<<<<^^^^^^^^^>>>vvvvvv<<<<<
Land:
Sxxxxxx
x
x
x
x
xxxxxxxxx
xxxx xoooox x
xoox xoooox x
xoox xoooox x
xoox xxxxxx x
xoox x
xoox x
xxxxxx x
x x
x x
xxxxxxxxxxxxxxxx
Output: 101
Input: >>vvvv>>^^<<<<^
Land:
Sxx
xox
xxxxx
xox
xxx
Output: 17
Input: <<^^^>>>vv
Land:
xxxx
x x
x x
xxS
Output: 11 <- Note, diagonal edges do not close the "loop"
Роз'яснення:
- Вам не потрібно малювати стіну, вихід повинен бути лише цілим числом
- Формат введення необов’язковий. Ви можете взяти рядок
<>^v, список цифр,(1, -1, i, -i)список символівABCDтощо.
Це код-гольф, тому найкоротший код на кожній мові виграє. Пам'ятайте, пояснення важливі навіть у "звичайних" мовах!