【暴力】【推导】bzoj1088 [SCOI2005]扫雷Mine
考虑右侧的一个格子是否放雷,只可能对其左侧的三个格子造成影响。
也就是说,若左侧一个格子旁的两个格子已经放了雷,对第三个格子也就唯一确定了。
因此只枚举前两个格子是否放雷,剩下的暴力判断是否合法即可。
但是再想想,左侧第一个格子只受右侧前两个格子的影响。所以只枚举右侧第一个格子是否放雷,剩下的判断是否合法即可。
#include<cstdio>
#include<cstring>
using namespace std;
int n,a[],t[],ans;
bool b[];
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&a[i]);
memcpy(t,a,sizeof(a));
b[]=; a[]--; a[]--;
for(int i=;i<=n;i++)
if(a[i-])
{
b[i]=; a[i-]--; a[i]--; a[i+]--;
if(a[i-]!=) goto FAIL;
}
if(a[n]!=||a[n-]!=) goto FAIL;
ans++;
FAIL: memset(b,,sizeof(b));
memcpy(a,t,sizeof(a));
for(int i=;i<=n;i++)
if(a[i-])
{
b[i]=; a[i-]--; a[i]--; a[i+]--;
if(a[i-]!=) goto FAIL2;
}
if(a[n]!=||a[n-]!=) goto FAIL2;
ans++;
FAIL2: printf("%d\n",ans);
return ;
}
【暴力】【推导】bzoj1088 [SCOI2005]扫雷Mine的更多相关文章
- BZOJ1088 [SCOI2005]扫雷Mine 动态规划
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1088 题意概括 扫雷.只有2行.第2行没有雷,第一行有雷.告诉你第二行显示的数组,问有几种摆放方式 ...
- 【题解】 bzoj1088: [SCOI2005]扫雷Mine (神奇的做法)
bzoj1088,懒得复制,戳我戳我 Solution: 其实这个有个结论,答案只会有\(0\),\(1\),\(2\)三种(我真的是个弱鸡,这个都想不到) 然后我们假设第一个就可以推出所有的状态(显 ...
- BZOJ1088: [SCOI2005]扫雷Mine
这道题A的好莫名其妙啊2333 传送门 状压DP,枚举上一个雷的分布情况(1<<3)-1,然后和当前的分布相结合,推出下一状态. //BZOJ 1088 //by Cydiater //2 ...
- [BZOJ1088][SCOI2005]扫雷Mine DP
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1088 记录下每一个格子对应左边格子放的雷的情况,然后dp转移就好了. #include&l ...
- 【递推】BZOJ 1088: [SCOI2005]扫雷Mine
1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2275 Solved: 1328[Submit][St ...
- 【BZOJ】1088: [SCOI2005]扫雷Mine
1088: [SCOI2005]扫雷Mine Description 相 信大家都玩过扫雷的游戏.那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,“余”人国流行起了一种简单的 ...
- bzoj 1088: [SCOI2005]扫雷Mine
题目链接 1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2525 Solved: 1495[Submi ...
- 1088: [SCOI2005]扫雷Mine
1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1635 Solved: 979[Submit][Sta ...
- BZOJ 1088: [SCOI2005]扫雷Mine【思维题,神奇的模拟+枚举】
1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3791 Solved: 2234[Submit][St ...
随机推荐
- SQLMap的前世今生(Part1)
http://www.freebuf.com/sectool/77948.html 一.前言 谈到SQL注入,第一时间就会想到神器SQLMAP,SQLMap是一款用来检测与利用的SQL注入开源工具.那 ...
- 解决“并非来自 Chrome 网上应用店。”
Chrome谷歌浏览器已停用不支持的扩展程序解决方法 第一种方法:(亲测有效) 1.首先把需要安装的第三方插件,后缀.crx 改成 .rar,然后解压,得到一个文件夹 2.再打开chrome://ex ...
- js删除一个父元素下面的所有子元素
比如<div id="ok"><button tpye='button'>111111</button><p>22222</p ...
- python基础(3)_列表、元组、字典
一.列表 定义:[ ] 内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: > 可存放多个值 > 可修改指定索引位置对应的值,可变 > 按照从左到右的顺序定义列表 ...
- MDIO/MDC(SMI)接口-leonwang202
ChinaUnix博客 http://blog.chinaunix.net/uid-24148050-id-132863.html
- codevs1245最小的N个和 小根堆
这道题 将b排序一下 将a(i~n)和b1加起来入堆 每次出一次队(ax+bi) 将(ax+bi+1)入队就好了 能保证答案的正确性 找个自己证明吧 #include<cstdio> #i ...
- [bzoj4602][Sdoi2016]齿轮——dfs
题目 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x : y.即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v的齿轮会转动y圈.传 ...
- python3 yield表达式形式应用
我们已知: 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器 yield的功能: 1.与return类似,都可以返回值,但不一样的地方在于yield返回多次值,而return只能返 ...
- python基础===pip安装模块失败
此情况只用于网络不畅的安装模块背景: 总出现红色的 Could not find a version that satisfies the requirement pymongo(from versi ...
- js向标签中添加文本或其他的简例
1.如何用js 在div内插入内容? 不是改变内容,而是插入,就是在保留原内容的基础上,在尾部添加.举个例子. 元内容<div>你好</div> 插入后<div>你 ...