Giới thiệu
Trong thử thách này, bạn được đưa ra làm đầu vào biểu diễn ASCII của mạng (bề mặt chưa mở) của một hình khối hình chữ nhật (hộp 3D). Định dạng này là:
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
Mỗi mặt của hình khối là một hình chữ nhật #
được bao quanh bởi các +-|
ký tự. Bên ngoài của mạng được lấp đầy với .
s. Mạng sẽ luôn có cùng một hướng: có một mặt giữa được bao quanh bởi bốn mặt lân cận và mặt đối diện của mặt giữa nằm ở viền bên phải của đầu vào. Đầu vào được đệm với .
s thành hình chữ nhật và sẽ không chứa thêm hàng hoặc cột của .
s.
Nhiệm vụ
Nhiệm vụ của bạn là lấy một sơ đồ như trên và tính toán thể tích của hình khối mà nó đại diện, chỉ là sản phẩm của chiều cao, chiều rộng và chiều sâu của nó. Bạn có thể lấy đầu vào là một chuỗi được phân tách bằng dòng mới hoặc một chuỗi các chuỗi.
Độ dài của mỗi cạnh là khoảng cách giữa các +
ký tự ở hai đầu của nó. Ví dụ: cạnh ngang +--+
có chiều dài 3 và cạnh dọc
+
|
|
|
+
có chiều dài 4. Độ dài tối thiểu của một cạnh là 1. Ví dụ hình khối ở trên có thể tích 2 * 3 * 4 = 24.
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ hoặc một hàm và số byte thấp nhất sẽ thắng.
Các trường hợp thử nghiệm
.++..
+++++
+++++
.++..
1
...++....
...||....
...||....
+--++--++
+--++--++
...||....
...||....
...++....
3
..+-+....
..|#|....
+-+-+-+-+
|#|#|#|#|
|#|#|#|#|
+-+-+-+-+
..|#|....
..+-+....
12
.+---+.....
++---++---+
||###||###|
||###||###|
||###||###|
++---++---+
.+---+.....
16
....++.....
....||.....
....||.....
....||.....
+---++---++
|###||###||
|###||###||
|###||###||
+---++---++
....||.....
....||.....
....||.....
....++.....
16
...+--+......
...|##|......
...|##|......
+--+--+--+--+
|##|##|##|##|
+--+--+--+--+
...|##|......
...|##|......
...+--+......
18
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
24
....+-----+..........
....|#####|..........
....|#####|..........
....|#####|..........
+---+-----+---+-----+
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
+---+-----+---+-----+
....|#####|..........
....|#####|..........
....|#####|..........
....+-----+..........
120