题目 牌型种数
小明被劫持到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);
}
}
个人想法,仅供参考