Найти площадь области единичных ячеек с учетом ее петли по периметру в виде последовательности поворотов на 90 градусов.
Например, возьмем трехклеточную область
XX
X
чей контур периметра мы рисуем
L<S<L
v ^
S R>L
v ^
L>L
Каждый поворот отмечен как левый (L), прямой (S) или правый (R). Начиная с R, повороты RLLSLSLL
. Таким образом, учитывая входные данные RLLSLSLL
, мы должны вывести 3 для области.
Входная последовательность гарантированно отследит петлю, охватывающую одну область слева.
- Путь заканчивается обратно в начальной точке, лицом к начальному направлению, образуя петлю.
- Петля не пересекает и не касается себя.
- Цикл идет против часовой стрелки вокруг области.
I / O
Вы можете принять ввод в виде списка или строки символов LSR
или в виде чисел -1, 0, 1
слева, справа и справа. Выход является положительным целым числом. Поплавки в порядке.
Контрольные примеры
Входные данные даны в обоих форматах, сопровождаемые их соответствующими выходными данными.
RLLSLSLL
LLLL
SLLSLL
LSRRSLLSSLSSLSSL
SSSSSLSSSSSLSSSSSLSSSSSL
[1, -1, -1, 0, -1, 0, -1, -1]
[-1, -1, -1, -1]
[0, -1, -1, 0, -1, -1]
[-1, 0, 1, 1, 0, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1]
[0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1]
3
1
2
7
36