码迷,mamicode.com
首页 > 其他好文 > 详细

[SCOI2005]扫雷

时间:2017-11-07 22:06:17      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:一个   class   sam   代码   https   格式   分享   blog   题目   

题目描述

技术分享

输入输出格式

输入格式:

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

输出格式:

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

输入输出样例

输入样例#1: 复制
2
1  1
输出样例#1: 复制
2

思路

显然枚举第一个位置是否存在地雷,其他的都可以依次导出,或者出现矛盾;

代码

 1 #include<cstdio>
 2 const int maxn=1e4+10;
 3 int n,ans;
 4 int s[maxn],f[maxn];
 5 void dfs(int k,int v){
 6     f[k]=v;
 7     if(k==n){
 8         if(f[k-1]+f[k]==s[k]) ans++;
 9         return;
10     }
11     if(f[k-1]+f[k]==s[k]) dfs(k+1,0);
12     if(f[k-1]+f[k]==s[k]-1) dfs(k+1,1); 
13 }
14 int main(){
15     scanf("%d",&n);
16     for(int i=1;i<=n;i++) scanf("%d",&s[i]);
17     dfs(1,1);
18     dfs(1,0);
19     printf("%d",ans);
20     return 0;
21 }

 

[SCOI2005]扫雷

标签:一个   class   sam   代码   https   格式   分享   blog   题目   

原文地址:http://www.cnblogs.com/J-william/p/7801121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!