1 条题解
-
0
C++ :
#include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <string> #include <map> #include <iostream> #include <cmath> #include <vector> using namespace std; const int N = 1005; const int mod=1e9+7; int C[N+5][N+5],a[N+5]; void add(int &a, int b) { a += b; if(a >= mod) a -= mod; } void init() { C[0][0] = 1; for(int i = 1; i <= N; i ++) { C[i][0] = C[i][i] = 1; for(int j = 1; j < i; j ++) C[i][j] = C[i - 1][j - 1], add(C[i][j], C[i - 1][j]); } } int main() { // freopen("data/10.in", "r", stdin); init(); int T; scanf("%d", &T); while(T --) { int n,m,sum=0; scanf("%d%d", &n, &m); for(int i=1;i<=m;i++) scanf("%d", &a[i]), sum += a[i]; int ans=1; for(int i=1;i<=m;i++){ ans = 1ll * ans * C[sum][a[i]] % mod; sum-=a[i]; } cout<<ans<<endl; } return 0; }
- 1
信息
- ID
- 9177
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者