题意:给你一个3*n的格子,中间那行表明的是周围8格(当然左右都没有)的炸弹数量,上下两行都可以放炸弹,问你有几种可能,对mod取模

思路:显然(不),当i - 1和i - 2确定时,那么i的个数一定确定,显然,只要第一列确定,后面全确定了,那么就3种可能,只要遍历到最后,最后一个符合num[n] = pre[n - 1] + pre[n]那么就说明这样排可行。复杂度O(3*n)。

#include<set>
#include<map>
#include<stack>
#include<cmath>
#include<queue>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
typedef long long ll;
using namespace std;
const int maxn = + ;
const int seed = ;
const ll MOD = ;
const int INF = 0x3f3f3f3f;
int t, n;
char a[maxn];
int num[maxn];
ll ans;
void dfs(int id, int pre, int prepre, ll p){
if(id == n + ){
if(num[id - ] == pre + prepre) ans += p;
return;
}
if(id == ){
dfs(id + , , , );
if(num[id] >= ) dfs(id + , , , );
if(num[id] >= ) dfs(id + , , , );
}
else{
int now = num[id - ] - prepre - pre;
if(now < || now > ) return;
ll pp;
if(now == ) pp = p * 2LL % MOD;
else pp = p;
dfs(id + , now, pre, pp);
}
}
int main(){
scanf("%d", &t);
while(t--){
scanf("%s", a);
n = ;
while(a[n] != '\0'){
num[n + ] = a[n] - '';
n++;
}
ans = ;
dfs(, , , );
printf("%lld\n", ans);
}
return ;
}

HDU 5965 扫雷(dfs)题解的更多相关文章

  1. HDU 5965 扫雷 【模拟】 (2016年中国大学生程序设计竞赛(合肥))

    扫雷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...

  2. HDU 5965 扫雷

    扫雷游戏是晨晨和小璐特别喜欢的智力游戏,她俩最近沉迷其中无法自拔. 该游戏的界面是一个矩阵,矩阵中有些格子中有一个地雷,其余格子中没有地雷. 游戏中,格子可能处于己知和未知的状态.如果一个己知的格子中 ...

  3. HDU.5692 Snacks ( DFS序 线段树维护最大值 )

    HDU.5692 Snacks ( DFS序 线段树维护最大值 ) 题意分析 给出一颗树,节点标号为0-n,每个节点有一定权值,并且规定0号为根节点.有两种操作:操作一为询问,给出一个节点x,求从0号 ...

  4. Hdu OJ 5965 扫雷(递推)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5965 题目大意:中文题,自己读 解图思路:对于每一列都有三种情况--0, 1, 2. 如果第一列确定地 ...

  5. HDU 5965(三行扫雷 dp)

    题意是在一个 3 行 n 列的图上进行扫雷,中间一行没有雷,且中间一行的每一格都会显示周围的雷数,问根据已知的雷数在上下两行设置地雷的方法数. 分析知每一列所填雷数的和与周围的雷数有关,但每列具体的填 ...

  6. HDU 5965:扫雷(DP,递推)

    扫雷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...

  7. hdu 5727 Necklace dfs+二分图匹配

    Necklace/center> 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5727 Description SJX has 2*N mag ...

  8. hdu 4499 Cannon dfs

    Cannon Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4499 D ...

  9. HDU 6228 - Tree - [DFS]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6228 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...

随机推荐

  1. Unity shader学习之Alpha Blend

    通过 ShaderLab 的 AlphaBlend 能够实现真正的半透明效果. 使用 AlphaBlend 时,需要关闭深度写入 ZWrite Off,但得非常小心物体的渲染顺序, RenderQue ...

  2. <7>Cocos Creator 节点 cc.Node

    1.简介 节点(cc.Node)是渲染的必要组成部分.所有需要在游戏场景中显示的内容都必须是节点或者依附于节点之上.节点负责控制显示内容的位置.大小.旋转.缩放.颜色等信息. 2.节点属性 1: na ...

  3. ueditor上传图片配置成功,但是如何删除无用的图片

    我使用ueditor作为富文本编辑器,配置已经好了,上传功能也好了.现在的问题是当使用ueditor上传图片的时候,选择了图片就立刻上传到指定的文件夹里,而后续即使没有保存该篇文章内容,即取消操作,图 ...

  4. 32网络通信之Poll模型

    多路复用并发模型  -- poll #include<poll.h> int  poll(struct pollfd *fds,  unsigned int nfds, int timeo ...

  5. Python 5 -- 模块

    模块 - 模块就是包含函数的文件,用于共享代码. 导入已有模块 # 导入整个模块 import random # 导入整个模块 print(random.randint(0,255)) #调用模块中的 ...

  6. Spring 默认的 AopProxy

    Spring 默认的 AopProxy JdkDynamicAopProxy Spring xml 文件默认解析器 DefaultDocumentLoader 采用 standard JAXP-con ...

  7. POJ 3624 Charm Bracelet (01背包)

    题目链接:http://poj.org/problem?id=3624 Bessie has gone to the mall's jewelry store and spies a charm br ...

  8. linux系统电视盒子到底是什么

    经常看到各种大神说今天刷了什么linux系统可以干嘛干嘛了,刷了乌班图可以干嘛干嘛了,但是身为一个小白,对这种名词都是一知半解.所以这边给大家科普一下,什么是linux系统?电视盒子刷了这个可以干啥? ...

  9. 爬虫之牛掰的scrapy框架

    一. Scrapy简介及安装 http://python.jobbole.com/86405/ Scrapy的详细介绍   1.简介   2.安装     1.window上安装:         先 ...

  10. Web前端学习笔记之离线安装npm

    0x00 概述 这段时间的工作主题就是Linux 下的“离线部署”,包括mongo.mysql.postgresql.nodejs.nginx等软件的离线部署.平常在服务器上借助apt-get就能轻松 ...