Encuentre el área de una región de celdas unitarias dado su bucle perimetral como una secuencia de giros de 90 grados.
Por ejemplo, tome la región de tres celdas
XX
X
cuyo bucle perimetral dibujamos
L<S<L
v ^
S R>L
v ^
L>L
Cada giro se marca como izquierda (L), recta (S) o derecha (R). A partir de la R, los turnos son RLLSLSLL
. Entonces, dada la entradaRLLSLSLL
, deberíamos generar 3 para el área.
Se garantiza que la secuencia de entrada trazará un bucle que encierra una sola región a su izquierda.
- El camino termina de regreso en el punto de inicio, mirando hacia la dirección inicial, formando un bucle.
- El bucle no se cruza ni se toca.
- El bucle va en sentido antihorario alrededor de una región.
I / O
Puede tomar la entrada como una lista o cadena de caracteres LSR
, o como números -1, 0, 1
para izquierda, recta, derecha. La salida es un entero positivo. Los flotadores están bien.
Casos de prueba
Las entradas se dan en ambos formatos seguidos de sus respectivas salidas.
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