Description

相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。万圣节到了,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字表示和它8连通的格子里面雷的数目。现在棋盘是n×2的,第一列里面某些格子是雷,而第二列没有雷,如下图: 由于第一列的雷可能有多种方案满足第二列的数的限制,你的任务即根据第二列的信息确定第一列雷有多少种摆放方案。

Input

第一行为N,第二行有N个数,依次为第二列的格子中的数。(1<= N <= 10000)

Output

一个数,即第一列中雷的摆放方案数。

Sample Input

2
1 1

Sample Output

2
 
 #include<cstdio>
#include<cstring>
using namespace std;
int f[],ans,a[],n;
int judge(){
for(int i=;i<=n;i++){
f[i+]=a[i]-f[i]-f[i-];
if(f[i-]<) return ;
}
if(a[n]-f[n-]-f[n]!=) return ;
return ;
} int main(){
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&a[i]);
if(a[]==) ans+=judge();
else if(a[]==) {
f[]=;ans+=judge();
memset(f,,sizeof(f));
f[]=;
ans+=judge();
}else if(a[]==){
f[]=f[]=;ans+=judge();
}
printf("%d",ans);
}

最新文章

  1. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...
  2. php js数组问题
  3. QT 网络编程二(UDP版本)
  4. jquery 最简单的动画效果
  5. Threatening letter in Naver Line App
  6. 在运行jar时自动加载指定的jar包
  7. Lua从入门到精通
  8. android的edittext输入长度
  9. 整理网站优化(SEO)的方案
  10. WPF刷新界面之坎坷路
  11. 用css怎么制作下拉列表
  12. sudoku作业
  13. SpringCloud的服务注册中心(三) - 进一步了解 Eureka
  14. sublime 安装package control
  15. Linux上好用的工具集合
  16. win10 uwp 商业游戏 1.2.1
  17. Java入门学习笔记
  18. Prometheus监控学习记录
  19. OEMbutton乱码问题解决
  20. PHP安装包TS和NTS的区别

热门文章

  1. MySQL 更改默认编码为 utf8 (转)
  2. 关于Linux测试题
  3. Redis--分布式锁
  4. Jersey(1.19.1) - Client API, Using filters
  5. HDOJ2005第几天
  6. 相对完美的后台Service实现播放音乐功能
  7. Rebind and Rewind in Execution Plans
  8. 第四篇、微信小程序-icon组件
  9. 自定义DZLMoneyLabel
  10. Linux 下面对物理地址的访问