二十四点是一个非常有趣的游戏。游戏的目标是利用四则运算把几个数字给变成 $24$。
具体来说,游戏最开始会给出 $n$ 个数字 $a_1, \dots, a_n$。在游戏过程中,玩家每次可以选择两个下标不同(但是值可以相同)的数字 $a_i,a_j$,将 $a_i,a_j$ 删除,并从 $a_i + a_j,a_i-a_j,a_i \times a_j,a_i/a_j$ 中选择一个加入到数列中(运算过程中允许小数)。如果在操作过程中,$24$ 出现在了数列里,那么玩家胜利,否则玩家失败。
举例来说,如果初始数字是 $5,5,5,5,5$,一个可能的游戏过程是:
- 删除最左侧两个 $5$,把 $5 \times 5$ 加入数列,得到 $5,5,5,25$。
- 删除最左侧两个 $5$,把 $5/5$ 加入数列,得到 $5,25,1$。
- 删除 $25$ 和 $1$,把 $25-1$ 加入数列,得到 $5,24$。此时 $24$ 出现在了数列里,玩家胜利。
注意这儿的规则和传统的 $24$ 点不同,这儿允许有数字不被使用。
可怜定义一个数字序列 $A$ 是好的当且仅当存在一个游戏过程能从 $A$ 算出 $24$ 点。举例来说 $2,3,4$ 就是好的,但 $1,2,3$ 不是。
现在可怜手上有 $n$ 个数字 $x_1, \dots, x_n$,可怜想要知道它 $2^n-1$ 个非空子序列中,有多少个是好的。