Диаграмма Юнга является расположением ящиков в левом выравнивании строк и топ выравниванием столбцов. Для каждого ящика все места над ним и слева от него заняты.
XXXXX
XXX
XXX
X
Длина крючка для ящика - это число ящиков справа от его строки и ниже его в столбце, также считая себя один раз. Например, вторая коробка имеет длину крючка 6:
X****
X*X
X*X
X
Вот все длины крючков:
86521
532
421
1
Ваша цель - вычислить произведение длин крючков здесь 8*6*5*2*1*5*3*2*4*2*1*1 = 115200
.
(Читайте о формуле длины хука, если вам интересно, почему это выражение имеет значение.)
Ввод: набор размеров строк в виде чисел, подобных [5,3,3,1]
или повторяющихся одинарных символов, таких как [[1,1,1,1,1], [1,1,1], [1,1,1], [1]]
или "XXXXX XXX XXX X"
. Вы можете ожидать, что список будет отсортирован по возрастанию или убыванию, как вы пожелаете. Список будет непустым и будет содержать только положительные целые числа.
Вывод: произведение длины крючка, которая является положительным целым числом. Не беспокойтесь о целочисленных переполнениях или времени выполнения.
Встроенные модули, специально предназначенные для диаграмм Юнга или целочисленных разбиений, не допускаются.
Тестовые случаи:
[1] 1
[2] 2
[1, 1] 2
[5] 120
[2, 1] 3
[5, 4, 3, 2, 1] 4465125
[5, 3, 3, 1] 115200
[10, 5] 798336000
{ee::+W%}_q~%z%:+:*
(19 байт) Формат ввода:[[1][1 1 1][1 1 1][1 1 1 1 1]]