SP26184 JC15F - Colorful Beads
题目描述
**彩色珠子**
今天是个多彩的日子!为什么呢?因为桌子上有许多彩色的珠子。Satria 想用这些珠子做一条项链,为了让项链更有价值,他使用一个神秘的秘密公式来排列珠子。而 Gunawan 对 Satria 的秘密公式非常好奇,于是他尝试用暴力枚举所有可能的珠子组合,希望能找到最优解。起初,当珠子数量不多时,他很容易找到了最优组合,但他始终无法推导出通用公式。他不断尝试和努力……永不放弃!
有一天,Tjandra 遇到了 Gunawan,并建议他不要继续暴力尝试,因为组合的数量实在太多了。Gunawan 半信半疑,于是请 Tjandra 给他做个证明。
Gunawan 说:“如果我有 $N$ 个珠子,可能有多少种组合?”
Tjandra 回答:“应该是 $N!$ 种组合。”
Gunawan 反驳道:“但这不完全对,因为我的珠子有很多颜色,如果交换相同颜色的珠子,价值不会变化。”
Tjandra 说:“好的,那你详细告诉我珠子的情况。”
Gunawan 解释道:“我的珠子有 $M$ 种不同的颜色,分别有 $K_1$ 个一号颜色的珠子,$K_2$ 个二号颜色的珠子……$K_M$ 个 M 号颜色的珠子。”
Tjandra 回答:“那么组合数就是 $\frac{F(K_1 + K_2 + \dots + K_M)}{F(K_1) \cdot F(K_2) \cdot \dots \cdot F(K_M)}$ 其中 $F(N)$ 表示 $N$ 的阶乘。”
(几分钟后)
Gunawan 表示:“你的公式有误。我用 2 个绿色和 2 个蓝色珠子试了试,你的公式给出的结果是 $\frac{24}{2 \cdot 2} = 6$,但实际上只有 2 种组合。”
Tjandra 自信满满地说:“我很擅长数学,我相信我的公式是对的。”
Gunawan 反驳道:“我做了这两条项链:{1: {g, g, b, b}, 2: {g, b, g, b}} [g=绿色珠子, b=蓝色珠子],你能给我做出一个不同于这两条的项链吗?”
Tjandra 回答:“当然,这很简单,这是第三条项链:{b, g, b, g}”
但 Gunawan 旋转这条项链后说:“看,你的项链和我的第二条项链相同:{b, g, b, g} -> {g, b, g, b}”
Tjandra 说:“哦,我忘记了可以旋转项链。非常聪明的尝试,为什么不相信我说的组合数太多了,尽管算出来的和实际稍微少一点。”
Gunawan 反驳道:“‘稍微少一些’?6 和 2 差这么多?”
Tjandra 不甘示弱:“好吧,我可以告诉你确切的组合数,但公式太过复杂,而且我没带电脑,这里有电脑吗?”
Gunawan 回答:“没有,我也没有。”
现在 Tjandra 用他的老手机打电话找你帮忙,因为他知道你正坐在电脑前。你能帮帮他们吗?
输入格式
第一行为一个整数 $K$,表示不同颜色珠子的种类数。
第二行为 $K$ 个整数,分别是第 $i$ 种颜色的珠子数量 $K_i$。
输出格式
输出一个整数,表示不同颜色组合的数量。由于 Tjandra 预测这个数会非常大,请输出取模 $10^9 + 7$ 的结果。
说明/提示
$1 \leq K \leq 100$
$1 \leq K_i \leq 10^5$
**样例 1**
输入
```
1
1000
```
输出
`1`
**样例 2**
输入
```
2
2 2
```
输出
`2`
**样例 3**
输入
```
3
1 1 1
```
输出
`2`
**样例 4**
输入
```
4
2 3 4 5
```
输出
`180180`
**样例 5**
输入
```
5
1 2 3 4 5
```
输出
`2522520`
**样例 3 说明**
在样例 3 中,有 3 种不同颜色的珠子,每种颜色���有 1 个珠子。
假设这 3 种颜色分别是红色、绿色和蓝色,这里只有 2 种可能的项链。所有其他的珠子组合都可以通过旋转变为这两种项链中的一种。
需要注意的是,如果我们能翻转项链,那么两条项链算作相同。但在本问题中,我们假设项链的正面不同于背面,因此上面两种项链被视为不同的。
**本翻译由 AI 自动生成**