枚举第一行第一个格子的状态(有雷或者无雷,0或1),然后根据第一个格子推出后面所有格子的状态。推出之后判断解是否可行即可。

#include <bits/stdc++.h>

using namespace std;

#define REP(i,n)                for(int i(0); i <  (n); ++i)
#define rep(i,a,b) for(int i(a); i <= (b); ++i)
#define dec(i,a,b) for(int i(a); i >= (b); --i)
#define for_edge(i,x) for(int i = H[x]; i; i = X[i]) #define LL long long
#define ULL unsigned long long
#define MP make_pair
#define PB push_back
#define FI first
#define SE second
#define INF 1 << 30 const int N = 100000 + 10;
const int M = 10000 + 10;
const int Q = 1000 + 10;
const int A = 30 + 1; int a[N], b[N];
int n;
int ans; int main(){
#ifndef ONLINE_JUDGE
freopen("test.txt", "r", stdin);
freopen("test.out", "w", stdout);
#endif scanf("%d", &n);
rep(i, 1, n) scanf("%d", a + i);
rep(i, 0, 1){
bool flag = true;
b[1] = i;
rep(j, 2, n) b[j] = a[j - 1] - b[j - 1] - b[j - 2];
rep(j, 2, n - 1) if (b[j] < 0 || b[j] > 1){ flag = false; break;}
if (b[n] < 0 || b[n] > 1) flag = false;
rep(j, 1, n) if (b[j - 1] + b[j] + b[j + 1] != a[j]){ flag = false; break;}
//rep(j, 1, n) printf("%d ", b[j]); putchar(10); if (flag) ++ans;
} printf("%d\n", ans); return 0; }

最新文章

  1. C++模板实例化
  2. symfony2取得web目录绝对路径、相对路径、网址的函数是什么
  3. 准备使用 Office 365 中国版--安装
  4. Goldbach&#39;s Conjecture
  5. PHP集成支付宝快速实现充值功能
  6. 【hihoCoder第十五周】最近公共祖先&#183;二
  7. HDU 5724 - Chess
  8. 合理的使用size_t可以提高程序的可移植性和代码的可读性,让你的程序更高效。
  9. SpringMVC、SpringMVC XML配置(纯XML方式)
  10. C++不支持Unicode,即使utf8
  11. 深度解析javascript中的浅复制和深复制
  12. 动态链接库dll,导入库lib,静态链接库lib
  13. 张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中的软件 PWM 驱动 RGB LED
  14. Spring框架-AOP详细学习[转载]
  15. Nginx Redirect Websocket
  16. Docker Builders:Builder pattern vs. Multi-stage builds in Docker
  17. C# 创建 写入 读取 excel
  18. cpu的核心数及线程关系
  19. canvas知识点积累
  20. 关闭WPS启动时显示的在线模板

热门文章

  1. Codeforces Round #464 (Div. 2) A Determined Cleanup
  2. 关于欧几里德算法(gcd)的证明
  3. 菜鸟学Linux - 用户与用户组基础
  4. uoj206 [APIO2016]最大差分
  5. IntelliJ IDEA 视频教程
  6. Marketing learning-2
  7. Python-S9-Day128——算法基础Algorithm
  8. C# 反射修改私有静态成员变量
  9. 【转】Map/Reduce简介
  10. maven学习(八)——使用maven创建javaweb项目