传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1088

简单的状压dp(话说本题的编号减1,即1087,也是一道状压dp),不解释。

#include <cstdio>

const int maxn = 10005;

int n, b[maxn];
long long f[maxn][8]; int main(void) {
scanf("%d", &n);
for (int i = 1; i <= n; ++i) {
scanf("%d", b + i);
if (b[i] > 3 || b[i] < 0) {
puts("0");
return 0;
}
}
if (b[1] == 3 || b[n] == 3) {
puts("0");
return 0;
}
if (b[1] == 0) {
f[1][0] = 1;
}
else if (b[1] == 1) {
f[1][0] = f[1][1] = 1;
}
else {
f[1][1] = 1;
} for (int i = 2; i <= n; ++i) {
if (b[i - 1] == 0) {
f[i][0] = f[i - 1][0] + f[i - 1][4];
}
else if (b[i - 1] == 1) {
f[i][1] = f[i - 1][0] + f[i - 1][4];
f[i][2] = f[i - 1][1] + f[i - 1][5];
f[i][4] = f[i - 1][2] + f[i - 1][6];
}
else if (b[i - 1] == 2) {
f[i][3] = f[i - 1][1] + f[i - 1][5];
f[i][5] = f[i - 1][2] + f[i - 1][6];
f[i][6] = f[i - 1][3] + f[i - 1][7];
}
else {
f[i][7] = f[i - 1][3] + f[i - 1][7];
}
} if (b[n] == 0) {
printf("%lld\n", f[n][0] + f[n][4]);
}
else if (b[n] == 1) {
printf("%lld\n", f[n][1] + f[n][5] + f[n][2] + f[n][6]);
}
else if (b[n] == 2) {
printf("%lld\n", f[n][3] + f[n][7]);
}
return 0;
}

  

_bzoj1088 [SCOI2005]扫雷Mine【dp】的更多相关文章

  1. Bzoj 1088: [SCOI2005]扫雷Mine (DP)

    Bzoj 1088: [SCOI2005]扫雷Mine 怒写一发,算不上DP的游戏题 知道了前\(i-1\)项,第\(i\)项会被第二列的第\(i-1\)得知 设\(f[i]\)为第一列的第\(i\) ...

  2. [BZOJ1088][SCOI2005]扫雷Mine DP

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1088 记录下每一个格子对应左边格子放的雷的情况,然后dp转移就好了. #include&l ...

  3. 1088: [SCOI2005]扫雷Mine

    1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1635  Solved: 979[Submit][Sta ...

  4. BZOJ 1088: [SCOI2005]扫雷Mine【思维题,神奇的模拟+枚举】

    1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3791  Solved: 2234[Submit][St ...

  5. 【递推】BZOJ 1088: [SCOI2005]扫雷Mine

    1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2275  Solved: 1328[Submit][St ...

  6. 【BZOJ】1088: [SCOI2005]扫雷Mine

    1088: [SCOI2005]扫雷Mine Description 相 信大家都玩过扫雷的游戏.那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,“余”人国流行起了一种简单的 ...

  7. bzoj 1088: [SCOI2005]扫雷Mine

    题目链接 1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2525  Solved: 1495[Submi ...

  8. [SCOI2005]扫雷Mine

    1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2028  Solved: 1187[Submit][St ...

  9. NC20241 [SCOI2005]扫雷MINE

    NC20241 [SCOI2005]扫雷MINE 题目 题目描述 相信大家都玩过扫雷的游戏.那是在一个 \(n \times m\) 的矩阵里面有一些雷,要你根据一些信息找出雷来. 万圣节到了 ,&q ...

随机推荐

  1. 查看linux接口进出口流量的命令;linux 网络监控;流量监控

    1.nload,左右键切换网卡 2.sudo iftop 3.sudo iptraf 按连接/端口查看流量 4.sudo nethogs: 按进程查看流量占用 5.ss: 连接查看工具 6.dstat ...

  2. 创立一个站点的前前后后(起因,域名,云平台,备案,CDN等等)(1)

    起因 写完<完美软件开发:方法与逻辑>这书后,原本想继续写书的,可出来參加了些社区活动后,我发现我写的书大家评价还行.但事实上不太理解.而接下来想写的书更加抽象点.准备叫<管理的解析 ...

  3. [Analytics] Add Tealium debugger in Chrome

    It would be helpful once you can see what information have been tracking inside you web application, ...

  4. Codeforces Round #253 (Div. 1) A Borya and Hanabi

    A. Borya and Hanabi time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  5. C# 性能优化 之 秒表 Stopwatch。 Dapper一个和petapoco差不多的轻量级ORM框架

    Sweet小马 小马同学的编程日记. C# 性能优化 之 秒表 Stopwatch. 生词解释:Diagnostics[,daɪəg'nɑstɪks] n.诊断学 using System.Diagn ...

  6. 微博试水卖车社交电商怎样令4S“颤抖”?

        微博对社交电商的探索一直在深入,年初.微博上线了"支付"产品.从而使社交产业链实现了闭环,随后,微博又尝试售卖多种商品,不断扩大移动电商的试水范围,近期微博大规模汽车销售收 ...

  7. 网易新闻client(高仿)

    近期整理了下自己曾经做过的项目,决定分享出来.本篇所展示的是仿网易新闻client,服务端是在新浪SAE部署着的.所以大家下载后,可直接在手机上看到效果.接下来看效果图: watermark/2/te ...

  8. CSVReader

    从网上找了一个开源的东东 ,网址 https://www.csvreader.com/

  9. keywords和favicon

    1.<meta name="keywords" content="xxx"> 曾经网站风靡关键词堆积,往往在首页上设置大量的关键词,以获取最大范围搜 ...

  10. I.MX6 DNS 查看、修改方法

    /************************************************************************** * I.MX6 DNS 查看.修改方法 * 说明 ...