编程题
### 问题描述 小莫买了一块超级好吃的榛果黑巧克力,但看到分布不均匀的榛果,就很烦! 当然是每一段有一颗榛果才好吃嘛,于是小莫想把这块巧克力分成多段,这样每段都正好含有一颗榛果,而且任何断线都在相邻的两段之间。 假设这根黑巧克力有 $n$ 块,请你计算出有多少种方案。 当然,如果小莫不掰巧克力,则 $n$ 块巧克力则视为**一段**,仍然必须保持仅有**一颗**榛果。 如果整段巧克力连一颗榛果也没有,那显然方案数为 $0$ 。 ### 输入格式 第一行包含一个整数 $n$ 巧克力的块数。 第二行包含 $n$ 个整数,其中 $0$ 代表没有榛果的一块,$1$ 代表有榛果的一块。 ### 输出格式 一行输出 $1$ 个整数 ### 样例输入 ```text 5 1 0 1 0 1 ``` ### 样例输出 ```text 4 ``` ### 说明 输出把巧克力分成多段,且每段仅包含一个巴旦木的方案数对 $998244353$ 取模后的结果。 例如,对于 $1 0 1 0 1$的巧克力,可以如下划分 - $10|10|1$ - $1|010|1$ - $10|1|01$ - $1|01|01$ 一共为四种方案,对 $998244353$ 取模后仍然为 $4$ ,所以你应当输出 $4$ 。 ### 评测数据规模 对于 $60$% 的评测数据,$1 \leq n \leq 20, 0 \leq a_i \leq 1$。 对于 $100$% 的评测数据,$1 \leq n \leq 1 \times 10^{5}, 0 \leq a_i \leq 1 $。
查看答案
赣ICP备20007335号-2