소개
이 문제에서는 직사각형 입방체 (3D 상자) 의 그물 (펼친 표면)의 ASCII 표현을 입력으로 제공합니다 . 형식은 다음과 같습니다.
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
직육면체의 각면은- 문자로 #
둘러싸인 사각형입니다 +-|
. 그물의 외부는 .
s 로 채워져 있습니다 . 그물은 항상 같은 방향을 갖습니다. 네 개의 인접한면으로 둘러싸인 가운데가 있고 가운데의 대응 부분은 입력의 오른쪽 경계에 있습니다. 입력은 .
s로 직사각형 모양으로 채워 지며 s의 추가 행 또는 열을 포함하지 않습니다 .
.
작업
당신의 임무는 위와 같이 다이어그램을 입력하고, 그것이 나타내는 직육면체의 부피, 즉 높이, 너비 및 깊이의 곱인 것을 계산하는 것입니다. 입력을 개행으로 구분 된 문자열 또는 문자열 배열로 사용할 수 있습니다.
각 모서리의 길이 +
는 두 끝에서-문자 사이의 거리 입니다. 예를 들어 가로 가장자리의 +--+
길이는 3이고 세로 가장자리의 길이는
+
|
|
|
+
모서리의 최소 길이는 1입니다. 위의 직육면체 예는 부피가 2 * 3 * 4 = 24입니다.
규칙과 득점
전체 프로그램이나 함수를 작성할 수 있으며 가장 낮은 바이트 수가 이깁니다.
테스트 사례
.++..
+++++
+++++
.++..
1
...++....
...||....
...||....
+--++--++
+--++--++
...||....
...||....
...++....
3
..+-+....
..|#|....
+-+-+-+-+
|#|#|#|#|
|#|#|#|#|
+-+-+-+-+
..|#|....
..+-+....
12
.+---+.....
++---++---+
||###||###|
||###||###|
||###||###|
++---++---+
.+---+.....
16
....++.....
....||.....
....||.....
....||.....
+---++---++
|###||###||
|###||###||
|###||###||
+---++---++
....||.....
....||.....
....||.....
....++.....
16
...+--+......
...|##|......
...|##|......
+--+--+--+--+
|##|##|##|##|
+--+--+--+--+
...|##|......
...|##|......
...+--+......
18
....+--+.......
....|##|.......
....|##|.......
....|##|.......
+---+--+---+--+
|###|##|###|##|
+---+--+---+--+
....|##|.......
....|##|.......
....|##|.......
....+--+.......
24
....+-----+..........
....|#####|..........
....|#####|..........
....|#####|..........
+---+-----+---+-----+
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
|###|#####|###|#####|
+---+-----+---+-----+
....|#####|..........
....|#####|..........
....|#####|..........
....+-----+..........
120