Діаграма Юнга є розташуванням ящиків в лівому вирівнюванні рядків і топ вирівнюванням стовпців. У кожному ящику зайняті всі пробіли над ним та зліва від нього.
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"
. Ви можете розраховувати, що список буде відсортований за зростанням чи за спаданням за вашим бажанням. Список буде не порожнім і міститиме лише додатні цілі числа.
Вихід: Добуток довжини гака, який є додатним цілим числом. Не хвилюйтеся з приводу цілих переливів чи часу виконання.
Вбудовані модулі, що стосуються діаграм Young або цілих розділів, заборонені.
Тестові приклади:
[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]]