https://www.nowcoder.com/acm/contest/113/A
题目描述
给出四堆石子,石子数分别为a,b,c,d。
规定每次只能从堆顶取走石子,问取走所有石子的方案数。
输入描述:
在一行内读入四个由空格分隔的整数a,b,c,d,
输入均为不超过500的正整数
输出描述:
输出一个整数表示答案,答案对109+7取模
示例1
输入
3 5 4 2
输出
2522520
备注:
输入均为不超过500的正整数
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll mod = 1000000007;
const int maxn = 1000010;
ll qpow(ll a,ll x){
ll ret=1;
while (x){
if (x&1)
ret = ret*a%mod;
a=a*a%mod;
x>>=1;
}
return ret;
}
ll fac[maxn],inv[maxn];
ll init(){
fac[0]=1;
for (int i=1;i<maxn;i++)
fac[i]=fac[i-1]*i%mod;
inv[maxn-1]=qpow(fac[maxn-1],mod-2);