蓝桥杯——牌型种数

题目地址

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

输出

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

 

 13种牌,每种都有可能取0~4 张,枚举求和即可
#include<stdio.h>
int main(){
    int sum = 0;
    for(int a = 0;a < 5;a++)
        for(int b = 0;b < 5;b++)
            for(int c = 0;c < 5;c++)
                for(int d = 0;d < 5;d++)
                    for(int e = 0;e < 5;e++)
                        for(int f = 0;f < 5;f++)
                            for(int g = 0;g < 5;g++) //7
    for(int aa = 0;aa < 5;aa++)
        for(int bb = 0;bb < 5;bb++)
            for(int cc = 0;cc < 5;cc++)
                for(int dd = 0;dd < 5;dd++)
                    for(int ee = 0;ee < 5;ee++)
                        for(int ff = 0;ff < 5;ff++)  // 13种牌,每种都有可能取0~4 张,枚举求和即可
    if(a+b+c+d+e+f+g+aa+bb+cc+dd+ee+ff == 13)
        sum++;
    printf("%d\n",sum);
    return 0;
}

蓝桥杯——牌型种数

 

 

另外,网上有dfs 做法,以及排列组合求解的,暂时不明白咋做,,挖个坑吧

 

上一篇:【BZOJ3566】[SHOI2014] 概率充电器(树形DP)


下一篇:搭建自己的终极框架