蓝桥 牌型种数 (问题转化+dfs)

简介: 蓝桥 牌型种数 (问题转化+dfs)

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

问题转化:对于一个人拿到的牌,可以看成从1到13这13种牌中,每一种拿到多少个。
对于编号为1的牌,可以拿0个1个2个3个4个,所以dfs求1到13,当到达13时看拿到的总数量是否是13,如果是就是一种情况

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

int res;
void dfs(int pos, int cnt){
   
    if (pos==14){
   
        if (cnt==13){
   
            res++;
        }
        return;
    }
    dfs(pos+1, cnt);
    dfs(pos+1, cnt+1);
    dfs(pos+1, cnt+2);
    dfs(pos+1, cnt+3);
    dfs(pos+1, cnt+4);
} 
int main(){
   
    dfs(1, 0);
    cout<<res;
    return 0;
}
相关文章
|
11月前
|
机器学习/深度学习 Java
【Java每日一题,深度搜索dfs】棋盘问题
【Java每日一题,深度搜索dfs】棋盘问题
|
定位技术
【CCCC】L3-007 天梯地图 (30分),两次Dijkstra+路径打印(数据点2,4错因),90行最短题解
【CCCC】L3-007 天梯地图 (30分),两次Dijkstra+路径打印(数据点2,4错因),90行最短题解
166 0
|
10月前
|
存储 算法 容器
精选算法题(1)——枚举符合要求的算术表达式(DFS、回溯法)
精选算法题(1)——枚举符合要求的算术表达式(DFS、回溯法)
|
数据采集 算法 C++
DFS(深度优先搜索)详解(概念讲解,图片辅助,例题解释,剪枝技巧)
DFS(深度优先搜索)详解(概念讲解,图片辅助,例题解释,剪枝技巧)
353 0
《蓝桥杯每日一题》dfs·AcWing3502. 不同路径数
《蓝桥杯每日一题》dfs·AcWing3502. 不同路径数
56 0
|
机器学习/深度学习 算法
算法每日一题:P2089 烤鸡 -DFS练习
算法每日一题:P2089 烤鸡 -DFS练习
|
算法 JavaScript
好的,DFS,也学废了!
没错,本篇是上一篇《好的,BFS,又学废了!》的姊妹篇,意在通过简单回顾拾起学了忘、又忘了学的基础数据结构; DFS,全称是:深度优先遍历(Depth_First_Search),通常和 BFS 广度优先遍历(Breadth-first search)对比理解学习;
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:4.数的分解
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:4.数的分解
134 0
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:4.数的分解
|
存储 C++
【力扣·每日一题】689. 三个无重叠子数组的最大和 (C++ 前缀和优化dp 保存路径)
【力扣·每日一题】689. 三个无重叠子数组的最大和 (C++ 前缀和优化dp 保存路径)
95 0
【力扣·每日一题】689. 三个无重叠子数组的最大和 (C++ 前缀和优化dp 保存路径)