zoukankan      html  css  js  c++  java
  • [bzoj1088][SCOI2005]扫雷Mine

    给你一个n*2的扫雷游戏,第二行没有雷,告诉你第二行每一个格子周围有几个雷,求可能的方案数量。

    类型:一股清流

    思路:二逼题,确定了前两项,每一项都能从前两项确定,check一下就可以了

    难度:普及组。

    #include<iostream>
    #include<cstdio>
    using namespace std;
    inline int read()
    {
        int x=0,f=1;char ch=getchar();
        while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}
        while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}
        return x*f;
    }
    
    int n,ans=0;
    int s[10005],f[10005];
    
    int check()
    {
        if(f[1]+f[2]!=s[1]) return 0;
        for(int i=3;i<=n;i++)
        {
            f[i]=s[i-1]-f[i-1]-f[i-2];
            if(f[i]<0||f[i]>1)return 0;
        }
        if(f[n]+f[n-1]!=s[n]) return 0;
        return 1;
    }
    
    int main()
    {
        n=read();if(n==1) return 0*puts("1");
        for(int i=1;i<=n;i++)
            s[i]=read();
               ans+=check();
        f[1]=1;ans+=check();
        f[2]=1;ans+=check();
        f[1]=0;ans+=check();
        cout<<ans;
        return 0;
    }
  • 相关阅读:
    表值函数,标量值函数
    考勤率
    精确小数点
    SQL 返回刚插入的值
    xml读取
    备份表
    case,cast
    DDR基础知识
    NXP官方的I.MX6UL板级Uboot源码适配
    高通msm8909打开debug串口
  • 原文地址:https://www.cnblogs.com/FallDream/p/bzoj1088.html
Copyright © 2011-2022 走看看