CF115D Unambiguous Arithmetic Expression
题目描述
对$UAE$作出如下定义:
所有的非负整数都是$UAE$。这些整数可能含有前导零(如$0000\ 0000$和$0010\ 0010$被认为是有效的整数)。如果$X$和$Y$是$UAE$,那么"$(X)+(Y)$","(X)-(Y)","$(X)* (Y)$","$(X)/(Y)$"都是$UAE$。(不含引号)
如果$X$是$UAE$,那么"$-(X)$"和"$+(X)$"也是$UAE$。
给出一个只由$0-9$的数字、"-"、"+"、" * "、"/"组成的字符串。你的任务是计算含有不同$UAE$表达式的数量,使得如果去掉所有的括号,这些$UAE$表达式能成为给出的输入文件中的字符串。因为答案可能非常大,请你输出对$10^6+3$取模的结果。
输入格式
输入文件的第一行是一个非空的字符串,只由$0-9$的数字、"-"、"+"、" * "、"/"组成。字符串的长度不超过$2000$。字符串中不包含任何空格。
输出格式
输出一行一个整数,去除所有括号后能够与输入文件中的字串相同的$UAE$表达式的个数对$10^6+3$取模的结果。
翻译By @若如初见
说明/提示
For the first example, the two possible unambiguous arithmetic expressions are:
` $ ((1)+(2))*(3) $
$ (1)+((2)*(3)) $ `For the second example, the three possible unambiguous arithmetic expressions are: ` $ (03)+((-(30))+(40)) $
$ (03)+(-((30)+(40))) $
$ ((03)+(-(30)))+(40) $ `
$ (1)+((2)*(3)) $ `For the second example, the three possible unambiguous arithmetic expressions are: ` $ (03)+((-(30))+(40)) $
$ (03)+(-((30)+(40))) $
$ ((03)+(-(30)))+(40) $ `