P30122 [ACSL] License Plate Game
普及-
题目描述

当 Ben 和 Jerry 上小学时,他们家每年夏天都会从罗德岛州考文垂驱车前往佛蒙特州沃特伯里看望祖父母。路上,Jerry 会向 Ben 发起“车牌游戏”挑战。Ben 先说出一个目标整数,然后他们路过的下一辆车的车牌就是本次挑战的指定车牌。每个车牌最多包含 6 个字符。仅使用指定车牌中出现的数字,求有多少种不同的方法可以将其排列成一个算术表达式,使得该表达式的最终结果等于目标整数。

运算符 $+$、$-$、$*$ 按通常方式计算。另外定义两个运算符如下:

$$ a / b = \left\lfloor a \div b \right\rfloor $$

其中 $a/0$ 无定义。

$$ a \wedge b = a^b $$

其中 $0 \wedge 0$ 无定义。

如果某个表达式无定义,则它不能等于目标结果。

每个运算符最多只能使用一次。表达式从左到右依次计算,并且每个数字在表达式中使用的次数不能超过它在车牌中出现的次数。

输入格式

两行:
1. 输入一个整数值$n$
2. 一个字符串$m$,字符串最多包含 6 个字母或数字字符。

输出格式

输出一个整数,表示有多少种不同的表达式能够等于给定整数$n$。

样例输入
144 F11235
样例输出
10
提示

一共有 10 种不同的表达式可以得到 $144$:

$$ \begin{aligned} &1-5*3^2,\quad 5-1*3^2,\quad 1/1-5*3^2,\quad 1-5/1*3^2,\\ &1-5*3/1^2,\quad 1-5*3^2/1,\quad 5-1/1*3^2,\quad 5/1-1*3^2,\\ &5-1*3/1^2,\quad 5-1*3^2/1 \end{aligned} $$