Codeforces Beta Round 87 (Div. 1 Only) |
---|
Закончено |
Определим арифметическое выражение (АВ) следующим образом.
Дана строка, состоящая из цифр («0» - «9») и символов «-», «+», «*», и «/». Ваша задача — посчитать количество арифметических выражений, таких, что после удаления из него всех скобок (символов «(» и «)»), это выражение становится эквивалентным данной строке. Так как ответ может быть очень большим, выведите его по модулю 1000003 (106 + 3).
Первая строка — непустая строка из цифр («0» - «9») и символов «-», «+», «*», и/или «/». Длина строки не превосходит 2000 символов. Строка не содержит пробелов.
Выведите одно целое число — количество различных арифметических выражений, которые после удаления из них скобок становятся посимвольно равными данной строке, по модулю 1000003 (106 + 3).
1+2*3
2
03+-30+40
3
5//4
0
5/0
1
1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
100728
В первом примере возможны два арифметических выражения:
((1) + (2)) * (3)
(1) + ((2) * (3))
Во втором примере возможны три арифметических выражения:
(03) + (( - (30)) + (40))
(03) + ( - ((30) + (40)))
((03) + ( - (30))) + (40)
Название |
---|