描述

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

格式

输入格式

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

输出格式

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

样例1

样例输入1[复制]

 
2
1 1

样例输出1[复制]

 
2

限制

1s

题解:

在前两到状压题的影响下,我采用了当前到第几行,该行是否放了雷以及上一行是否放了雷,在状态转移的时候发现没有一点DP的味道。。。不过还是过了。。。

其实当第一行是否放雷确定后,那么后面的就都确定了,所以答案不会超过2,枚举第一行的状态即可

代码:

1.

 var f:array[..,..,..] of longint;
n,i,j,k:longint;
a:array[..] of longint;
procedure init;
begin
readln(n);
for i:= to n do read(a[i]);
end;
procedure main;
begin
f[,,]:=;
f[,,]:=;
f[,,]:=;
f[,,]:=;
for i:= to n+ do
if a[i-]= then
begin
f[i,,]:=f[i-,,];
f[i,,]:=;
f[i,,]:=f[i-,,];
f[i,,]:=f[i-,,];
end
else
if a[i-]= then
begin
f[i,,]:=f[i-,,];
f[i,,]:=f[i-,,];
f[i,,]:=f[i-,,];
f[i,,]:=;
end
else
if a[i-]= then
begin
f[i,,]:=;
f[i,,]:=f[i-,,];
f[i,,]:=;
f[i,,]:=;
end
else
begin
f[i,,]:=;
f[i,,]:=;
f[i,,]:=f[i-,,];
f[i,,]:=;
end;
writeln(f[n+,,]+f[n+,,]);
end;
begin
assign(input,'input.txt');assign(output,'output.txt');
reset(input);rewrite(output);
init;
main;
close(input);close(output);
end.

2.

 var a,b:array[..] of longint;
ans,i,n:longint;
function check:boolean;
var i,t:longint;
begin
b[]:=a[]-b[];
for i:= to n do
begin
t:=b[i]+b[i-];
if (t>a[i]) or (t+<a[i]) then exit(false);
b[i+]:=a[i]-t;
end;
exit(b[i+]<>);
end; begin
assign(input,'input.txt');assign(output,'output.txt');
reset(input);rewrite(output);
readln(n);
for i:= to n do read(a[i]);
ans:=;
for i:= to do
begin
b[]:=i;
if check then inc(ans);
end;
writeln(ans);
close(input);close(output);
end.

vijos p1193 扫雷的更多相关文章

  1. Vijos 1193 扫雷 【动态规划】

    扫雷 描述 相信大家都玩过扫雷的游戏.那是在一个n*n的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,“余”任过流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它 ...

  2. jquery在线扫雷

    <扫雷>是一款大众类的益智小游戏,于1992年发行.游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷. 在线试玩 http://hovertree.com/te ...

  3. wpf版扫雷游戏

    近来觉得wpf做出来的界面很拉风,自己也很喜欢搞些小游戏,感觉这做出来的会很炫,很装逼,(满足自己的一点小小的虚荣心)于是就去自学,发现感觉很不错,可是属性N多,太多了,而且质料也少,很多不会用,只会 ...

  4. 【BZOJ 1061】【Vijos 1825】【NOI 2008】志愿者招募

    http://www.lydsy.com/JudgeOnline/problem.php?id=1061 https://vijos.org/p/1825 直接上姜爷论文... #include< ...

  5. vijos P1915 解方程 加强版

    背景 B酱为NOIP 2014出了一道有趣的题目, 可是在NOIP现场, B酱发现数据规模给错了, 他很伤心, 哭得很可怜..... 为了安慰可怜的B酱, vijos刻意挂出来了真实的题目! 描述 已 ...

  6. vijos P1780 【NOIP2012】 开车旅行

    描述 小\(A\)和小\(B\)决定利用假期外出旅行,他们将想去的城市从\(1\)到\(N\)编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市\(i\)的海拔高度为 ...

  7. 【BZOJ 2541】【Vijos 1366】【CTSC 2000】冰原探险

    http://www.lydsy.com/JudgeOnline/problem.php?id=2541 https://vijos.org/p/1366 loli秘制大爆搜_(:з」∠)_坑了好久啊 ...

  8. 【BZOJ 1065】【Vijos 1826】【NOI 2008】奥运物流

    http://www.lydsy.com/JudgeOnline/problem.php?id=1065 https://vijos.org/p/1826 好难的题啊TWT ∈我这辈子也想不出来系列~ ...

  9. Java课程设计——扫雷(winmine)

    因为是我的课程设计,要是有冲突就不好了,转载注明出处!!! 程序很简单,毕竟我是搞acm的,我就只介绍一下闪光点. 中心空白搜索的时候,我用的DFS: 有一点是要注意的,就是JFrame不支持重画,还 ...

随机推荐

  1. php封装文件上传

    这是一个经常在项目中遇到的问题,所以封装一个,分享给大家. 一,前期配置php.ini     如果上传文件超过了php配置那么$_POST或者$_FILES等都是空数组,这点是一个坑,因为那时候就不 ...

  2. 一种c#深拷贝方式完胜java深拷贝(实现上的对比)

    楼主是一名asp.net攻城狮,最近经常跑java组客串帮忙开发,所以最近对java的一些基础知识特别上心.却遇到需要将一个对象深拷贝出来做其他事情,而原对象保持原有状态的情况.(实在是不想自己new ...

  3. OpenJudge 2813 画家问题 / Poj 1681 Painter's Problem

    1.链接地址: http://bailian.openjudge.cn/practice/2813 http://poj.org/problem?id=1681 2.题目: 总时间限制: 1000ms ...

  4. HTML5 Video与Audio 视频与音频

    ---- 视频Video对象 - 指定视频播放地址 <video width="320" height="240" controls="cont ...

  5. html常用单词和各种少见标签

    常用单词: 空格  align="left"valign="top"align="center"valign="middle&qu ...

  6. Linux之在CentOS上一次艰难的木马查杀过程

    今天朋友说他一台要准备上线的生产服务器被挂马,特征ps命令找不到进程,top能看到负载最高的一个程序是一个随机的10位字母的东西,kill掉之后自动再次出现一个随机10位字母的进程. 我让他关闭这个机 ...

  7. C#通过ODAC访问Oracle12c

    昨天晚上刚装好Oracle12c并配制好了PLSQL Developer开发环境.今天继续完善一下,讲讲在C#中如何访问Oracle12c. 其实我们运用老早的ADO.NET也可以连接,但是在.NET ...

  8. EF 的 霸气配置

    通过EF 作为操作数据库的工具有一段时间了,也做了几个相对不大的项目,慢慢的也对EF的使用摸索出来了一些规则,虽然说不是技术难点,但是,我说的是但是,能够提高我们开发效率的棉花糖有时我们还是必须要吃的 ...

  9. Project not selected to build for this solution configuration.

    Project not selected to build for this solution configuration.   When you upgrade your older solutio ...

  10. Ubuntu启动停止在checking battery state...

    Ubuntu在“checking battery state...”处停止了,出现这种现象的原因可能有很多种.笔者遇到的是其中的一种. 情景描述: 笔者此前将Ubuntu的图形启动方式修改为了字符界面 ...