牌型总数
答案:3598180
解析:
1. 用普通的递归,时间复杂度到达 13^13 虽有剪枝,但根本算不出来
2. 此方法的时间复杂度为 5^13
3. 因为52张牌均分给4人,且不考虑颜色
4. ∴ 可以考虑为: 13种牌,对于每种都有5中选择 即:0张,1张,2张,3张,4张。
5. 同样为递归,当牌的种类数目 或 牌的张数超过13时,不符合条件返回。
6. 当牌的张数 等于 13 时,符合条件,ans++```
```java
public class Main007_牌型总数2 {
static int ans = 0;
public static void main(String[] args) {
f(0,0);
System.out.println(ans);
}
private static void f(int kinds,int counts){
if(kinds>13 || counts >13) return;
if(counts == 13){
ans++;
return;
}
for (int i=0;i<5;i++){
f(kinds+1,counts+i);
}
}
}