Trouvez l'aire d'une région de cellules unitaires en fonction de sa boucle de périmètre sous la forme d'une séquence de virages à 90 degrés.
Par exemple, prenez la région à trois cellules
XX
X
dont on trace la boucle de périmètre
L<S<L
v ^
S R>L
v ^
L>L
Chaque virage est marqué comme gauche (L), droit (S) ou droit (R). À partir du R, les virages sont RLLSLSLL
. Donc, étant donné l'entrée RLLSLSLL
, nous devrions sortir 3 pour la zone.
La séquence d'entrée est garantie pour tracer une boucle entourant une seule région sur sa gauche.
- Le chemin se termine au point de départ, face à la direction initiale, formant une boucle.
- La boucle ne se traverse pas et ne se touche pas.
- La boucle va dans le sens antihoraire autour d'une région.
E / S
Vous pouvez prendre la saisie sous forme de liste ou de chaîne de caractères LSR
, ou sous forme de chiffres -1, 0, 1
pour gauche, droite, droite. La sortie est un entier positif. Les flotteurs sont OK.
Cas de test
Les entrées sont données dans les deux formats suivies de leurs sorties respectives.
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