pengantar
Dalam tantangan ini, Anda diberikan input representasi ASCII dari jaring (permukaan tidak dilipat) berbentuk kubus persegi panjang (kotak 3D). Formatnya adalah ini:
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
Setiap wajah berbentuk kubus adalah persegi panjang #
s dikelilingi oleh +-|
karakter. Bagian luar jaring diisi dengan .
s. Jaring akan selalu memiliki orientasi yang sama: ada wajah tengah yang dikelilingi oleh empat wajah tetangga, dan lawan dari wajah tengah berada di perbatasan kanan input. Input diisi dengan .
s ke bentuk persegi panjang dan tidak akan berisi baris atau kolom ekstra .
s.
Tugas
Tugas Anda adalah mengambil diagram input seperti di atas, dan menghitung volume berbentuk kubus yang diwakilinya, yang hanya merupakan produk dari tinggi, lebar, dan dalamnya. Anda dapat mengambil input sebagai string yang dibatasi-baris baru atau array string.
Panjang setiap tepi adalah jarak antara karakter- +
di kedua ujungnya. Misalnya, tepi horizontal +--+
memiliki panjang 3, dan tepi vertikal
+
|
|
|
+
memiliki panjang 4. Panjang minimum tepi adalah 1. Contoh berbentuk kubus di atas memiliki volume 2 * 3 * 4 = 24.
Aturan dan penilaian
Anda dapat menulis program atau fungsi lengkap, dan jumlah byte terendah menang.
Uji kasus
.++..
+++++
+++++
.++..
1
...++....
...||....
...||....
+--++--++
+--++--++
...||....
...||....
...++....
3
..+-+....
..|#|....
+-+-+-+-+
|#|#|#|#|
|#|#|#|#|
+-+-+-+-+
..|#|....
..+-+....
12
.+---+.....
++---++---+
||###||###|
||###||###|
||###||###|
++---++---+
.+---+.....
16
....++.....
....||.....
....||.....
....||.....
+---++---++
|###||###||
|###||###||
|###||###||
+---++---++
....||.....
....||.....
....||.....
....++.....
16
...+--+......
...|##|......
...|##|......
+--+--+--+--+
|##|##|##|##|
+--+--+--+--+
...|##|......
...|##|......
...+--+......
18
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
24
....+-----+..........
....|#####|..........
....|#####|..........
....|#####|..........
+---+-----+---+-----+
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
+---+-----+---+-----+
....|#####|..........
....|#####|..........
....|#####|..........
....+-----+..........
120