SP2962 PAINTBLK - Painting Blocks (Act I)

题目描述

有 $n$ 个方块排成一行。现在你有 $k$ 种颜料($1 \le k \le 15$),其中第 $i$ 种颜料能涂的方块数量为 $c_i$($1 \le c_i \le 5$)。可以假设这些颜料总共可以涂满所有的方块,即 $\sum{c_i} = n$。你的任务是计算有多少种方法可以用这些不同的颜料涂所有方块,同时保证相邻的方块不能涂上相同颜色的颜料。

输入格式

输入包括十个测试用例(依次给出,你需要依序处理)。对于每个测试用例,第一行为一个整数 $k$,表示颜料种类数;第二行为 $k$ 个整数,分别表示每种颜料的可用数量 $c_1, c_2, \ldots, c_k$。

输出格式

输出十行,每行输出一个整数,代表相应方案数对 $1000000007$ 取模的结果。 **本翻译由 AI 自动生成**