Encontre a área de uma região de células unitárias, devido ao seu loop de perímetro, como uma sequência de curvas de 90 graus.
Por exemplo, considere a região de três células
XX
X
cujo perímetro desenhamos
L<S<L
v ^
S R>L
v ^
L>L
Cada turno é marcado como esquerdo (L), reto (S) ou direito (R). A partir do R, as curvas são RLLSLSLL
. Portanto, dada a entrada RLLSLSLL
, devemos produzir 3 para a área.
A sequência de entrada é garantida para rastrear um loop envolvendo uma única região à sua esquerda.
- O caminho termina no ponto inicial, voltado para a direção inicial, formando um loop.
- O loop não se cruza ou se toca.
- O loop segue no sentido anti-horário em torno de uma região.
I / O
Você pode usar a entrada como uma lista ou sequência de caracteres LSR
ou como números -1, 0, 1
para esquerda, reta, direita. A saída é um número inteiro positivo. Carros alegóricos estão OK.
Casos de teste
As entradas são fornecidas nos dois formatos, seguidas pelas respectivas saídas.
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