周囲のループが90度の回転シーケンスとして与えられたユニットセルの領域の面積を見つけます。
たとえば、3セルの領域を取ります
XX
X
誰の境界ループを描くか
L<S<L
v ^
S R>L
v ^
L>L
各ターンには、左(L)、直線(S)、または右(R)のマークが付いています。Rから始まって、ターンはRLLSLSLL
です。したがって、inputが与えられた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