小明被劫持到X赌城,被迫与其他3人玩牌。

一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。

这时,小明脑子里突然冒出一个问题:

如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?


题目分析:又是被zx学长秒穿的一道题目,一开始我抽象出来的模型就不对,导致设计出来的算法超时,无法跑出正确答案,我抽象出来的模型是52张牌,随便选13个,就写了个dfs去跑,很显然是超时的

正确的模型应该是13个桶,每个桶中有4张牌,我们应该依次从桶中摸牌,不重不漏

模型抽象出来了,dfs就比较好设计了,当我们面对这一个桶的时候,可以摸的牌有五种选择:

  1. 不摸
  2. 摸1张
  3. 摸2张
  4. 摸3张
  5. 摸4张

然后一直往下dfs就好了。。时间复杂度是5的(13-13/4)=10次方,大概也才1e7,增加了各种剪枝和特判之后,在本地差不多两三秒就跑出来了

代码:

#include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<climits>
#include<cmath>
#include<cctype>
#include<stack>
#include<queue>
#include<list>
#include<vector>
#include<set>
#include<map>
#include<sstream>
#include<unordered_map>
using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e5+100;int ans=0;void dfs(int pos,int num)//pos:当前到了第几个桶 num:现在手里有多少张牌
{if(num==13)//如果满足条件,答案加一{ans++;return;}if(num>13)//如果越界,直接返回return;if(pos==13)//同上return;for(int i=0;i<=4;i++)//五种情况爆搜dfs(pos+1,num+i);
}int main()
{
//  freopen("input.txt","r",stdin);
//    ios::sync_with_stdio(false);dfs(0,0);cout<<ans<<endl;return 0;
}

蓝桥杯 - 牌型种数(dfs)相关推荐

  1. 蓝桥杯2015初赛-牌型种数-dfs

    题目描述 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得 ...

  2. 2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - F. 牌型种数

    牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得 ...

  3. 第六届蓝桥杯【省赛试题 7】牌型种数 - i 逆天耗子 - CSDN 博客

    菜了菜了,简单DFS不会写 本文由 简悦 SimpRead 转码, 原文地址 https://blog.csdn.net/qq_34594236/article/details/60145501 版权 ...

  4. 牌型种数【蓝桥杯真题】

    牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得 ...

  5. 2015蓝桥杯省赛---java---B---7(牌型种数)

    题目 牌型种数 思路分析 递归进行实现,弄好终止条件,牌的数目等于13 代码实现 package com.atguigu.lanqiao;public class Main { // 简单枚举priv ...

  6. 2015蓝桥杯C++A:牌型种数(分配问题)

    六.题目:牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不 ...

  7. Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)

    Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...

  8. 【蓝桥杯 数独填数 DFS】

    蓝桥杯 数独填数 DFS 题目描述 代码 题目描述 你一定听说过"数独"游戏.如[图1.png],玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列 ...

  9. 牌型种数 ----蓝桥杯(暴力方法)

    蓝桥杯的纸牌游戏,这里我只用了简单的暴力,很费事,其实可以用递归, DP等等来写. 原题: 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张 ...

最新文章

  1. 2022-2028年中国电竞椅行业市场行情监测及未来发展前景研究报告
  2. MindSpore技术理解(下)
  3. ffmpeg + opencv 把摄像头画面保存为mp4文件
  4. 网站服务器令牌获取,adobe - 获取Adobe Sign访问令牌以进行服务器到服务器身份验证 - 堆栈内存溢出...
  5. SQL基础面试题(五)
  6. 语言翻译成汇编语言_编程语言分类
  7. 千入坑坑之安装matlab,114错误,几种系统报错解决
  8. Java课设——文本编辑器
  9. AirPlay to Mac 如何工作以及使用它需要什么?
  10. 【周五松土】私家萝卜与坑
  11. php域名查询,域名查询 PHP 代码
  12. 一个好中医就是一座全科医院
  13. 如何使用 哑节点(dummy node),高效解决问题
  14. JAVA调用IBM的Lotus Notes
  15. 人月神话(二)——为什么巴比伦塔会失败
  16. Hdu2104(主席树)
  17. Unity将当前场景渲染到图片上并导出图片(本地/服务器)
  18. 3dMax教程网站 文字版
  19. CTFSHOW新手杯MISC部分WriteUp
  20. ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

热门文章

  1. Why choose MySQL?
  2. kubernetes-Deployment
  3. MapStruct解决数据传输对象转换的繁琐
  4. MyBatis 集成到Spring 的原理是什么?
  5. 请解释下Spring 框架中的IOC 容器?
  6. Quartz框架基于Calendar的排除规则
  7. 创建订单 - 填充新订单数据
  8. 权限操作-表结构分析与创建表
  9. 日志规范之为什么要使用SLF4J
  10. Eureka常用配置详解