Trova l'area di una regione di celle unitarie dato il suo ciclo perimetrale come una sequenza di curve di 90 gradi.
Ad esempio, prendi la regione a tre celle
XX
X
di cui disegniamo il perimetro
L<S<L
v ^
S R>L
v ^
L>L
Ogni svolta è contrassegnata come sinistra (L), dritta (S) o destra (R). A partire dalla R, i giri sono RLLSLSLL
. Quindi, dato l'input RLLSLSLL
, dovremmo produrre 3 per l'area.
La sequenza di input è garantita per tracciare un loop che racchiude una singola regione alla sua sinistra.
- Il percorso termina indietro nel punto iniziale, rivolto verso la direzione iniziale, formando un anello.
- Il loop non si incrocia o si tocca.
- Il loop va in senso antiorario attorno a una regione.
I / O
Puoi prendere l'input come un elenco o una stringa di caratteri LSR
o come numeri -1, 0, 1
per sinistra, dritto, destra. L'output è un numero intero positivo. I galleggianti sono OK.
Casi test
Gli ingressi sono forniti in entrambi i formati, seguiti dalle rispettive uscite.
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