Introducción
En este desafío, se le da como entrada la representación ASCII de la red (superficie desplegada) de un cuboide rectangular (cuadro 3D). El formato es este:
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
Cada cara del cuboide es un rectángulo de #
s rodeado de +-|
caracteres. El exterior de la red está lleno de .
s. La red siempre tendrá la misma orientación: hay una cara central rodeada por sus cuatro caras vecinas, y la contraparte de la cara central está en el borde derecho de la entrada. La entrada se rellena con .
s en forma rectangular y no contendrá filas o columnas adicionales de .
s.
La tarea
Su tarea es tomar como entrada un diagrama como el anterior, y calcular el volumen del cuboide que representa, que es solo el producto de su altura, ancho y profundidad. Puede tomar la entrada como una cadena delimitada por una nueva línea o una matriz de cadenas.
La longitud de cada borde es la distancia entre los +
caracteres en sus dos extremos. Por ejemplo, el borde horizontal +--+
tiene una longitud 3 y el borde vertical
+
|
|
|
+
tiene una longitud 4. La longitud mínima de un borde es 1. El ejemplo del cuboide anterior tiene un volumen 2 * 3 * 4 = 24.
Reglas y puntaje
Puede escribir un programa completo o una función, y gana el conteo de bytes más bajo.
Casos de prueba
.++..
+++++
+++++
.++..
1
...++....
...||....
...||....
+--++--++
+--++--++
...||....
...||....
...++....
3
..+-+....
..|#|....
+-+-+-+-+
|#|#|#|#|
|#|#|#|#|
+-+-+-+-+
..|#|....
..+-+....
12
.+---+.....
++---++---+
||###||###|
||###||###|
||###||###|
++---++---+
.+---+.....
16
....++.....
....||.....
....||.....
....||.....
+---++---++
|###||###||
|###||###||
|###||###||
+---++---++
....||.....
....||.....
....||.....
....++.....
16
...+--+......
...|##|......
...|##|......
+--+--+--+--+
|##|##|##|##|
+--+--+--+--+
...|##|......
...|##|......
...+--+......
18
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
24
....+-----+..........
....|#####|..........
....|#####|..........
....|#####|..........
+---+-----+---+-----+
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
+---+-----+---+-----+
....|#####|..........
....|#####|..........
....|#####|..........
....+-----+..........
120