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

BZOJ 1088 SCOI2005 扫雷

时间:2017-09-08 20:34:24      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:cst   turn   logs   else   can   color   style   int   clu   

DFS即可过~

#include <cstdio>
#include <algorithm>
#include <cstring>
 
int Map[10005],n,ban[10005],tot;
 
void dfs(int h){
    if(h>n){
        if(Map[h-1]+Map[h-2]==ban[h-1]) tot++;
        return;
    }
    if(h==1){
        dfs(h+1);
        Map[h]=1;
        dfs(h+1);
        Map[h]=0;
    }
    else if(Map[h-1]+Map[h-2]==ban[h-1]){
        dfs(h+1);
    }
    else if(Map[h-1]+Map[h-2]+1==ban[h-1]){
        Map[h]=1;
        dfs(h+1);
        Map[h]=0;
    }
    else if(Map[h-1]+Map[h-2]+1 < ban[h-1] || Map[h-1]+Map[h-2]+1 > ban[h-1]) return; 
}
 
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&ban[i]);
    dfs(1);
    printf("%d\n",tot);
    return 0;
}

 

BZOJ 1088 SCOI2005 扫雷

标签:cst   turn   logs   else   can   color   style   int   clu   

原文地址:http://www.cnblogs.com/OIerLYF/p/7496027.html

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