zoukankan      html  css  js  c++  java
  • 第六届蓝桥杯试题c/c++B组7

    牌型种数

    小明被劫持到X赌城,被迫与其他3人玩牌。
    一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
    这时,小明脑子里突然冒出一个问题:
    如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?

    请填写该整数,不要填写任何多余的内容或说明文字。

    #include<iostream>
    using namespace std;
    int main() {
      int s=0, arr[13];
      for ( arr[0]=0; arr[0]<=4; arr[0]++)
      for ( arr[1]=0; arr[1]<=4; arr[1]++)
      for ( arr[2]=0; arr[2]<=4; arr[2]++)
      for ( arr[3]=0; arr[3]<=4; arr[3]++)
      for ( arr[4]=0; arr[4]<=4; arr[4]++)
      for ( arr[5]=0; arr[5]<=4; arr[5]++)
      for ( arr[6]=0; arr[6]<=4; arr[6]++)
      for ( arr[7]=0; arr[7]<=4; arr[7]++)
      for ( arr[8]=0; arr[8]<=4; arr[8]++)
      for ( arr[9]=0; arr[9]<=4; arr[9]++)
      for ( arr[10]=0; arr[10]<=4; arr[10]++)
      for ( arr[11]=0; arr[11]<=4; arr[11]++)
      for ( arr[12]=0; arr[12]<=4; arr[12]++){
        if (arr[0]+arr[1]+arr[2]+arr[3]+arr[4]+arr[5]+arr[6]+arr[7]+arr[8]+arr[9]+arr[10]+arr[11]+arr[12]==13){
          s++;
        }
      }
      cout<<s<<endl;
    }
    #include<iostream>
    using namespace std;
    int s=0, sum=0;
    void DFS(int i){
      if (sum>13) return ;
      if (i==14){
        if (sum==13){
          s++;
          return ;
        }
      }
      else{
        for (int j=0; j<=4; j++){
          sum+=j;//记录有几张牌 
          DFS(i+1);
          sum-=j; 
        }
      }
    }
    int main() {
      DFS(1);
      cout<<s;
    }
    

      

  • 相关阅读:
    如何计算二进制数的取值范围
    理解网络请求中的连接超时和读取超时
    两行代码玩转Spring Data排序和分页
    面试必问Elasticsearch倒排索引原理
    你知道Java的四种引用类型吗
    抛弃配置后的Spring终极教程
    Python学习第二篇
    Python
    关于always块内for循环的执行方式
    三态门实现“一读多写”总线结构
  • 原文地址:https://www.cnblogs.com/a863886199/p/6568250.html
Copyright © 2011-2022 走看看