codeforces Kyoya and Colored Balls
2015-08-07 13:42
302 查看
题解见:/article/2388780.html
注意这里的组合数取模~~~
View Code
注意这里的组合数取模~~~
/*Author :usedrose */ /*Created Time :2015/8/7 13:31:44*/ /*File Name :2.cpp*/ #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <iostream> #include <algorithm> #include <sstream> #include <cstdlib> #include <cstring> #include <climits> #include <vector> #include <string> #include <ctime> #include <cmath> #include <deque> #include <queue> #include <stack> #include <set> #include <map> #define INF 0x3f3f3f3f #define eps 1e-8 #define pi acos(-1.0) #define MAXN 1110 #define MAXM 1000110 #define OK cout << "ok" << endl; #define o(a) cout << #a << " = " << a << endl #define o1(a,b) cout << #a << " = " << a << " " << #b << " = " << b << endl using namespace std; typedef long long LL; LL n; LL a[MAXN]; LL fac[MAXM]; const LL mod = 1e9+7; LL quick_pow(LL a, LL b) { LL c = 1; while (b) { if (b&1) c = c*a%mod; b >>= 1; a = a*a%mod; } return c%mod; } LL calc(LL m,LL i) { return ((fac[m]%mod)*(quick_pow((fac[i]*fac[m-i])%mod, mod-2)%mod))%mod; } int main() { //freopen("data.in","r",stdin); //freopen("data.out","w",stdout); cin.tie(0); ios::sync_with_stdio(false); fac[0] = 1; for (int i = 1;i < MAXM; ++ i) fac[i] = (fac[i-1]*i)%mod; LL ans = 1, sum = 0; cin >> n; for (int i = 1;i <= n; ++ i) { cin >> a[i]; sum += a[i]; } for (int i = n;i >= 1;-- i) { ans *= calc(sum-1, a[i]-1); ans %= mod; sum -= a[i]; } cout << ans << endl; return 0; }
View Code
相关文章推荐
- chpasswd
- windows 用户启用或禁用
- java代码--加密解密
- 范冰冰驾“风火轮”调皮出行 李晨爱相随引围观
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- String Hashing(字符串哈希)
- MongoDB常用命令大全
- 【多选 】批量处理 input
- 【从头开始写操作系统系列】实现一个-GDT(1)
- iOS实现一个颜色渐变的弧形进度条
- dumpe2fs
- C++11实现自旋锁
- 解析Javascript事件冒泡机制
- java://Comparator、Comparable的用法(按照要求将map集合的键值对进行顺序输出)
- scrollview嵌套n个gridview
- Ruby
- I2C总线之(二)---时序
- 19.2.2 LIST Partitioning
- IOS私有API的了解
- bootstrap 注意点