zoukankan      html  css  js  c++  java
  • 枚举--蓝桥杯--牌型种数

    小明被劫持到X赌城,被迫与其他3人玩牌。

    一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。

    这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?

    枚举牌数的话太大,我们枚举每个牌

    代码:PPt

    #include <iostream>
    using namespace std;
    
    	int a[14];
    int ans = 0;
    void dfs(int x, int rest) {
            if(x == 13) {//假设枚举到现在刚好一张不剩,证明你刚刚枚举的是对的
                    if(rest == 0)
    				
    				  ans++;
    				  return;
                
            }
            for(int i = 0; i <= 4 && i <= rest; i++) {//枚举现在你牌的个数,还要小于当前的张数
                    a[x] = i;
                    dfs(x+1, rest - i);
            }
    }
    int main() {
            dfs(0, 13);
            cout << ans << endl;
            return 0;
    }
    

      

  • 相关阅读:
    sb#run():
    aop编程,自定义注解参数和方法范围
    vue 工程化
    mybatis SqlSession
    java传时间
    树的同构
    串的模式匹配
    堆栈模拟队列
    银行业务队列简单模拟
    一元多项式的乘法与加法运算
  • 原文地址:https://www.cnblogs.com/jweie/p/8365557.html
Copyright © 2011-2022 走看看