2021.04.01取扑克牌
题目描述
一副扑克牌(52张),发13张,若不考虑花色和拿到牌的顺序,问一共有多少种情况。
思路
直接dfs深搜,搜索的状态包括如下,
i: 搜索到了第几种牌
need: 还需要几张牌
代码
int n = 13;
int res = 0;
// 看到了第几种,还需要几张
void dfs(int i, int need) {
if(need < 0) return;
if(i == 14) {
if(need == 0) res++;
} else {
for(int k = 0; k <= 4; k++) dfs(i+1, need-k);
}
}
void test2() {
dfs(1, n);
System.out.println(res);
}
博客探讨了如何利用深度优先搜索(DFS)算法解决一副扑克牌中发13张牌的所有不同组合数量的问题。代码示例展示了DFS的实现细节,并在搜索过程中记录满足条件的组合数。
934

被折叠的 条评论
为什么被折叠?



