前書き
この課題では、長方形の直方体(3Dボックス)のネット(展開された表面)のASCII表現が入力として与えられます。形式は次のとおりです。
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
直方体の各面は、-文字で#
囲まれたsの長方形です+-|
。ネットの外側は.
s で満たされています。ネットは常に同じ向きになります。4つの隣接する面に囲まれた中央の面があり、中央の面の対応物は入力の右境界にあります。入力は.
sで長方形にパディングされ、sの余分な行または列は含まれません.
。
タスク
あなたのタスクは、上記の図を入力として取得し、それが表す直方体の体積を計算することです。直方体は、その高さ、幅、深さの積にすぎません。入力は、改行区切りの文字列または文字列の配列として取得できます。
各エッジの長さは、+
両端の文字間の距離です。たとえば、水平エッジの+--+
長さは3、垂直エッジの長さは
+
|
|
|
+
エッジの最小長は1です。上の例の直方体のボリュームは2 * 3 * 4 = 24です。
ルールとスコアリング
あなたは完全なプログラムまたは関数を書くことができ、最も低いバイト数が勝ちます。
テストケース
.++..
+++++
+++++
.++..
1
...++....
...||....
...||....
+--++--++
+--++--++
...||....
...||....
...++....
3
..+-+....
..|#|....
+-+-+-+-+
|#|#|#|#|
|#|#|#|#|
+-+-+-+-+
..|#|....
..+-+....
12
.+---+.....
++---++---+
||###||###|
||###||###|
||###||###|
++---++---+
.+---+.....
16
....++.....
....||.....
....||.....
....||.....
+---++---++
|###||###||
|###||###||
|###||###||
+---++---++
....||.....
....||.....
....||.....
....++.....
16
...+--+......
...|##|......
...|##|......
+--+--+--+--+
|##|##|##|##|
+--+--+--+--+
...|##|......
...|##|......
...+--+......
18
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
24
....+-----+..........
....|#####|..........
....|#####|..........
....|#####|..........
+---+-----+---+-----+
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
+---+-----+---+-----+
....|#####|..........
....|#####|..........
....|#####|..........
....+-----+..........
120