深度优先搜索(牌型种数)

题目 牌型种数

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

思路

  • dfs的深度是牌的类型,每种牌可以选0~4种,选的牌的总数相加==13.....

答案 3598180

源码

public class a {
static int num = 0;// 可能性

public static void main(String[] args) {
f(0, 0);
System.out.println(num);
}

static void f(int n, int count) {
if (count == 13) {
num++;
return;
}
if (n > 13)
return;
for (int i = 0; i < 5; i++)
f(n + 1, count + i);
}

}

个人想法,仅供参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容