蓝桥杯第六届真题 :牌型总数

点击查看:蓝桥杯历年真题 题解目录

牌型总数

蓝桥杯第六届真题 :牌型总数_第1张图片

答案: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);
      }
   }
}

你可能感兴趣的:(蓝桥杯历届真题)