2015 G 牌型种数

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

#include <bits/stdc++.h>
using namespace std;
int ans;
//发13次,手里13张牌  每种牌有5种选择,可以选 也可以不选 选最多4张
void dfs(int c,int s){//调用次数,手里的张数
    if(c == 13 && s == 13){
        ans++;
        return;
    }
    if(c > 13 || s > 13)
        return;
    for(int i = 0; i <= 4; i++)
        dfs(c + 1,s + i);
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    dfs(0,0);
    cout << ans << endl;
    return 0;
}
View Code

可以先想一想这个过程,而不是一味看题目

每个人最后手里13张牌,发牌每个人13次

比如说1,可以不选,也可以选,可以选的话,有1,2,3,4张

 

原文地址:https://www.cnblogs.com/xcfxcf/p/12301587.html