zoukankan      html  css  js  c++  java
  • bzoj 1088 DP

      我们可以用w[i][s]来表示到第i位的方案,s代表第i位和第i+1位是否有雷的二进制串,那么我们就可以根据每一位的雷的数量转移了。

    /**************************************************************
        Problem: 1088
        User: BLADEVIL
        Language: C++
        Result: Accepted
        Time:20 ms
        Memory:1588 kb
    ****************************************************************/
     
    //By BLADEVIL
    #include <cstdio>
    #define maxn 10010
     
    using namespace std;
     
    int n;
    int w[maxn][20];
     
    int main()
    {
        scanf("%d",&n);
        int x; scanf("%d",&x);
        if (x==2) w[1][3]++; else
        if (!x) w[1][0]++; else
            w[1][1]=w[1][2]=1;
        for (int i=2;i<=n;i++)
        {
            scanf("%d",&x);
            if (x==3) w[i][3]=w[i-1][3]; else
            if (!x) w[i][0]=w[i-1][0]; else
            if (x==2) w[i][2]=w[i-1][3],w[i][1]=w[i-1][2],w[i][3]=w[i-1][1]; else
            if (x==1) w[i][2]=w[i-1][1],w[i][1]=w[i-1][0],w[i][0]=w[i-1][2];
        }
        printf("%d
    ",w[n][2]+w[n][0]);
        return 0;
    }
  • 相关阅读:
    软工实践总结
    Beta总结
    beta冲刺6/7
    beta冲刺5/7
    Beta冲刺4/7
    beta冲刺3/7
    beta冲刺2/7
    beta冲刺1/7
    答辩总结
    ES6中的块级作用域与函数声明
  • 原文地址:https://www.cnblogs.com/BLADEVIL/p/3552212.html
Copyright © 2011-2022 走看看