zoukankan      html  css  js  c++  java
  • dp第二题

    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    using namespace std;
    int dp[100050];
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            dp[0]=1;dp[1]=1;dp[2]=1;dp[3]=1;
            for(int i=4;i<=n;i++)
            {
                dp[i]=(dp[i-1]%10007+dp[i-3]%10007);
            }
            cout << dp[n]%10007 << endl;
        }
        return 0;
    }

    Zlgg想要爬天梯而求仙道,他只有两种登山步法:凌波微步和逍遥游,分别能使他一次登上一级台阶、三级台阶。
    问:他从第一级台阶爬到第N级台阶共有多少种走法?

    状态:dp[i]代表走到第i级有dp[i]种走法;

    状态转移方程:dp[i]=dp[i-1]+dp[i-3];

  • 相关阅读:
    java设计模式概述
    Filter
    hello1 hello2 代码分析
    计划
    页面生命周期1
    Jquery
    关于DropDownList
    页面生命周期
    随机生成验证码
    关于技术
  • 原文地址:https://www.cnblogs.com/markliu/p/2496718.html
Copyright © 2011-2022 走看看