• 【BZOJ 1088】[SCOI2005]扫雷Mine


    【链接】 我是链接,点我呀:)
    【题意】

    在这里输入题意

    【题解】

    第一个位置确定了。 那么可以通过a[i-1]来推测出第i个位置应该放什么。 所以分两种情况就好。 第一个位置为0 或第一个位置为1 最多只有这两种可能。 判断合法性就好。

    【代码】

    #include <bits/stdc++.h>
    #define LL long long
    #define rep1(i,a,b) for (int i = a;i <= b;i++)
    #define rep2(i,a,b) for (int i = a;i >= b;i--)
    #define all(x) x.begin(),x.end()
    #define pb push_back
    #define ls l,mid,rt<<1
    #define rs mid+1,r,rt<<1
    using namespace std;
    
    const double pi = acos(-1);
    const int dx[4] = {0,0,1,-1};
    const int dy[4] = {1,-1,0,0};
    const int N = 1e4;
    
    int n,a[N+10],b[N+10];
    
    bool ok(int x){
        b[1] = x;
        for (int i = 2;i <= n;i++){
            int should = a[i-1];
            int actual = b[i-2] + b[i-1];
            if (should-actual ==1){
                b[i] = 1;
            }else if (should - actual ==0){
                b[i] = 0;
            }else return false;
        }
        if (b[n-1]+b[n]!=a[n]) return false;
        return true;
    }
    
    int main(){
    	#ifdef LOCAL_DEFINE
    	    freopen("rush_in.txt", "r", stdin);
    	#endif
        scanf("%d",&n);
        rep1(i,1,n) scanf("%d",&a[i]);
        int ans = 0;
        for (int i = 0;i <= 1;i++) if (ok(i)) ans++;
        printf("%d
    ",ans);
    	return 0;
    }
    
    
  • 相关阅读:
    Junit 测试 简明教程
    Set接口
    mysql中模糊查询中的转译
    SSH乱码的解决方法
    const in c++
    inline in c++
    SQLite临时文件及其编译参数
    extern “c”
    常见姓名粤语拼法
    SQLite编译指令PRAGMA
  • 原文地址:https://www.cnblogs.com/AWCXV/p/8573532.html
Copyright © 2020-2023  润新知