Einführung
In dieser Herausforderung erhalten Sie als Eingabe die ASCII-Darstellung des Netzes (entfaltete Oberfläche) eines rechteckigen Quaders (3D-Box). Das Format ist folgendes:
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
Jede Fläche des Quaders ist ein #
von +-|
-Zeichen umgebenes Rechteck aus s . Die Außenseite des Netzes ist mit .
s gefüllt . Das Netz hat immer die gleiche Ausrichtung: Es gibt eine Mittelfläche, die von den vier benachbarten Flächen umgeben ist, und das Gegenstück der Mittelfläche befindet sich am rechten Rand der Eingabe. Die Eingabe wird mit .
s zu einer rechteckigen Form aufgefüllt und enthält keine zusätzlichen Zeilen oder Spalten mit .
s.
Die Aufgabe
Ihre Aufgabe ist es, als Eingabe ein Diagramm wie oben zu nehmen und das Volumen des Quaders zu berechnen, das es darstellt, das nur das Produkt seiner Höhe, Breite und Tiefe ist. Sie können die Eingabe als durch Zeilenumbrüche getrennte Zeichenfolge oder als Array von Zeichenfolgen verwenden.
Die Länge jeder Kante ist der Abstand zwischen den +
Zeichen an den beiden Enden. Beispielsweise hat die horizontale Kante +--+
die Länge 3 und die vertikale Kante
+
|
|
|
+
hat die Länge 4. Die minimale Länge einer Kante ist 1. Der obige Beispielquader hat das Volumen 2 * 3 * 4 = 24.
Regeln und Wertung
Sie können ein vollständiges Programm oder eine Funktion schreiben, und die niedrigste Byteanzahl gewinnt.
Testfälle
.++..
+++++
+++++
.++..
1
...++....
...||....
...||....
+--++--++
+--++--++
...||....
...||....
...++....
3
..+-+....
..|#|....
+-+-+-+-+
|#|#|#|#|
|#|#|#|#|
+-+-+-+-+
..|#|....
..+-+....
12
.+---+.....
++---++---+
||###||###|
||###||###|
||###||###|
++---++---+
.+---+.....
16
....++.....
....||.....
....||.....
....||.....
+---++---++
|###||###||
|###||###||
|###||###||
+---++---++
....||.....
....||.....
....||.....
....++.....
16
...+--+......
...|##|......
...|##|......
+--+--+--+--+
|##|##|##|##|
+--+--+--+--+
...|##|......
...|##|......
...+--+......
18
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
24
....+-----+..........
....|#####|..........
....|#####|..........
....|#####|..........
+---+-----+---+-----+
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
+---+-----+---+-----+
....|#####|..........
....|#####|..........
....|#####|..........
....+-----+..........
120