zoukankan      html  css  js  c++  java
  • 3-计算01串

    /*描述

        ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个,他希望你能帮帮他。

        注:01串的长度为2时,有3种:00,01,10。

    输入
        第一行有一个整数n(0<n<=100),表示有n组测试数据;
        随后有n行,每行有一个整数m(2<=m<=40),表示01串的长度;
    输出
        输出不含有“11”子串的这种长度的01串共有多少个,占一行。
    样例输入

        2
        2
        3

    样例输出

        3
        5
    */


    #include <iostream>
    using namespace std;
    int dp[50];

    int fun(int m){
        if(m == 0)
            return dp[m] = 0;
        if(m == 1)
            return dp[m] = 2;
        if(m == 2)
            return dp[m] = 3;
        if(m == 3)
            return dp[m] = 5;
        return dp[m] = fun(m - 1) * 2 - fun(m - 3); //加一位数增加2倍,但要减去不合格的,往前考虑 三位就刚好可以递推
    }

    int main(){
        int n;
        cin >> n;
        while(n--){
            int m;
            cin >> m;
            cout << fun(m) << endl;
        }
        return 0;
    }

  • 相关阅读:
    首页效果
    vue 资源精选
    webpack
    常用代码
    超炫效果
    TJ 大神 与 node
    fis webpack 原理对比
    前端自动化测试
    非常强的用户体验的网站功能
    蔡康永: 说话之道
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/7384360.html
Copyright © 2011-2022 走看看