我们知道一副牌有四种花色,现在红桃有A张,黑桃有B张,梅花有C张,方块有D张,要把这些牌,按同花色牌放在一起来排列,一共有多少种排列方法?
输入格式
有四个数据,分别表示红桃有A张,黑桃有B张,梅花有C张,方块有D张(1<=A\B\C\D<=13)
输出格式
输出一个整数,因为这个数比较大,我们输出这个结果%100000007的值。
输入/输出例子1
输入:
2 3 1 2
输出:
576
样例解释
无
#include<bits/stdc++.h>
using namespace std;
int a,b,c,d;
long long al=1,bl=1,cl=1,dl=1,all;
int main(){
cin>>a>>b>>c>>d;
for(int i=1;i<=13;i++)
{
if(i<=a)al*=i;
if(i<=b)bl*=i;
if(i<=c)cl*=i;
if(i<=d)dl*=i;
al=al%100000007;
bl=bl%100000007;
cl=cl%100000007;
dl=dl%100000007;
}
all=al*bl%100000007*cl%100000007*dl%100000007;
cout<<all*24%100000007;
return 0;
}