HDU - 5965
题意:有三列n行的雷区。已知第二行没有雷,并且第二行周围的雷已知,问你这样的雷区存在多少个。
题解:根据扫雷的规则,已知第一列那么可以递推出第二列,所以枚举第一列雷的个数,然后递推下一列判断一下是否满足题意即可。
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
const int mod=100000007;
char s[100005];int a[100005];
int p[3] = {1, 2, 1};int n;
ll solve()
{ll ans=0;for(int i=0;i<=2&&i<=(s[1]-'0');i++){if(s[1]-'0'-i>2) continue;a[1]=s[1]-'0'-i;for(int j=2;j<=n;j++){a[j]=(s[j-1]-'0')-a[j-1]-a[j-2];}if(a[n]+a[n-1]!=(s[n]-'0')) continue;ll res=1;for(int j=1;j<=n;j++){if(a[j]==1)res=(res*2);if(a[j]!=1&&a[j]!=0&&a[j]!=2) res=0;if (res > mod) res %= mod;}ans=(ans+res)%mod;}return ans;
}
int main()
{int t;scanf("%d",&t);while(t--){memset(a,0,sizeof(a));scanf("%s",s+1);n=strlen(s+1);int flag=1;for(int i=1;i<=n;i++){if((i==1||i==n)&&s[i]-'0'>4) {printf("0\n");flag=0;break;}if(s[i]-'0'>6) {printf("0\n");flag=0;break;}}if(!flag) continue;printf("%lld\n",solve());}return 0;
}
HDU - 5965相关推荐
- 【HDU - 5965】扫雷(dp)
题干: 扫雷游戏是晨晨和小璐特别喜欢的智力游戏,她俩最近沉迷其中无法自拔. 该游戏的界面是一个矩阵,矩阵中有些格子中有一个地雷,其余格子中没有地雷. 游戏中,格子可能处于己知和未知的状态.如果一个己知 ...
- HDU - 5965 扫雷(dp[好理解,但不那么优的题解])
扫雷 Problem Description 扫雷游戏是晨晨和小璐特别喜欢的智力游戏,她俩最近沉迷其中无法自拔. 该游戏的界面是一个矩阵,矩阵中有些格子中有一个地雷,其余格子中没有地雷. 游戏中,格子 ...
- HDU 5965 扫雷 递推
扫雷游戏是晨晨和小璐特别喜欢的智力游戏,她俩最近沉迷其中无法自拔. 该游戏的界面是一个矩阵,矩阵中有些格子中有一个地雷,其余格子中没有地雷. 游戏中,格子可能处于己知和未知的状态.如果一个己知的格子中 ...
- python中函数包括标准库函数吗_Python标准库:内置函数divmod(a, b)
本函数是实现a除以b,然后返回商与余数的元组. 如果两个参数a,b都是整数,那么会采用整数除法,结果相当于(a//b, a % b).如果a或b是浮点数,相当于(math.floor(a/b), a% ...
- 多项式朴素贝叶斯分类器_多项式朴素贝叶斯分类器的主题预测
多项式朴素贝叶斯分类器 In Analytics Vidhya, Hackathon, there was a problem statement for text prediction of top ...
- 解题报告 (十四) 数位DP
文章目录 数位DP 解题报告 HDU 4722 Good Numbers HDU 2089 不要62 HDU 3555 Bomb HDU 3652 B-number PKU 3252 Round Nu ...
- 杂项 《Scala 开发教程》实验报告
61c02dc478e51a0828eaa771d4f943ccde528cc2.jpg Scala 开发教程.jpg Scala 基础 定义变量 # 字符串常变量 val girl = " ...
- HDU 4389 - X mod f(x)
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4389 2012多校,第9场,1010 . 问题是,询问区间内 存在多少个 哈沙德数(Harshad ...
- hdu 4389 囧,打表
http://acm.hdu.edu.cn/showproblem.php?pid=4389 题意 :一个数能被他各个位数之和整除则符合要求,给L,R,问区间里有多少个数符合要求. 囧,居然打表就能过 ...
最新文章
- heroku_了解如何使用Heroku部署全栈Web应用程序
- Vitamio FAQ(2012-11-20 )
- magic_quotes_gpc和magic_quotes_runtime的区别和用法详解
- windows的.bat批处理文件运行Python脚本程序
- 一次请求到php都经过了哪些步骤,PHP高级之一次请求处理过程或生命周期详解
- 高级C语言教程-指针和存储
- 腾讯云Centos升级python2到python3
- 经典指针程序互换(一)
- 背景图片自适应,不重复
- python多线程写同一个文件_Python多线程快速写入文件,python,飞速
- 【rocketMQ】1、搭建MQ服务器,生产一个订单与消费一个订单
- how to be successful with salesforce
- 最简单的《域中隔离用户的FTP站点》详解
- 关于“学习金字塔理论”的所思所想
- css 平移到某个位置_CSS3 对象平移translate()translatex()translatey()应用实例,包括水平垂直居中...
- 技术分享 | show engine innodb status中Pages flushed up to 的含义
- 内网穿透工具(永久免费、永不限速、开源)、一键启动、页面操作(支持window,mac),自定义二级域名
- php扣费到期自动续期,PHP 处理苹果的自动续签
- 狄兰·托马斯诗合集▷Do not go gentle into that good night
- CAD/CAM/CAE基础(三) 材料加工CAE技术基础