小明被劫持到 X 赌城,被迫与其他 3 人玩牌。
一副扑克牌(去掉大小王牌,共 52 张),均匀发给 4 个人,每个人 13 张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
- public class Main {
- static long ans = 0;
-
- public static void main(String[] args) {
- dfs(0, 0);
- System.out.println(ans);
- }
-
- static void dfs(int idx, int cnt) {
- if (cnt > 13 || idx > 13)
- return;
- if (idx == 13 && cnt == 13) {
- ans++;
- return;
- } else {
- for (int i = 0; i <= 4; i++) // 每种牌可以抓0-4张
- dfs(idx + 1, cnt + i);
- }
- }
- }