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;
    }

  • 相关阅读:
    WebQQ2.0 PHP
    HTML文档类型 PHP
    字符●圆角 PHP
    IIS日志分析器 PHP
    JS 像素数字 PHP
    3DTagCloud3D标签云 PHP
    QQ截屏工具提取 PHP
    .NET嵌入DLL ILMerge工具应用 PHP
    JS CSS 压缩工具(GUI界面) PHP
    Javascript 函数初探
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/7384360.html
Copyright © 2011-2022 走看看