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);
}