AT_wupc2019_j.Color Ball
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个颜色各不相同的筒,每个筒中装有与筒颜色相同的 a1,a2,…,aN 个球。所有筒中的球加起来共有 M 个。
每个筒的宽度恰好能放下一个球。保证没有空筒。
绫子想到了如下的玩法:她要将筒中的球取出并重新放入,要求满足以下条件:
- 每个筒中球的数量与初始状态相同。
- 每个筒中球的颜色都与该筒的颜色不同。
请问有多少种满足条件的放球方式?请输出答案对 109+7 取模后的结果。
注意,同色球之间不区分,但要区分每个筒中球的排列顺序。
输入格式
输入从标准输入读入,格式如下:
N M
a_1 a_2 \dots a_N
输出格式
请输出满足条件的方案数,输出一行。
输入输出样例
输入#1
2 4 2 2
输出#1
1
输入#2
3 5 2 2 1
输出#2
4
输入#3
4 15 2 2 1 10
输出#3
0
说明/提示
限制条件
- 1≤N≤2000
- 1≤M≤2000
- 1≤ai≤M
- ∑ai=M
- 所有输入均为整数。
样例解释 1
只有如下图所示的两球互换的方式满足条件,因此答案为 1。

样例解释 2
如下图所示,答案为 4。

样例解释 3
无论如何放球,都无法满足条件。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?