printРабочее место участника

printЗадачи

1112. Пермутация выражений

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Для арифметического выражения, содержащего только односимвольные имена переменных (строчные латинские буквы от a до z), знаки операций +, * и скобки (), определите количество различных способов его записи без раскрытия скобок, используя свойство коммутативности операций сложения и умножения. Например, выражение a+(b+c)+a можно записать также как a+(c+b)+a, a+a+(b+c), a+a+(c+b), (b+c)+a+a и (c+b)+a+a. Для выражения (a*a)+a*a существует еще один способ записи в виде a*a+(a*a), так как скобки в выражении должны сохраняться.
Ввод содержит синтаксически правильное арифметическое выражение длиной не более 100 символов.
Выведите одно целое число – количество различных способов записать это выражение.

Пример ввода

a+(b+c)+a

Пример вывода

6
loading