zoukankan      html  css  js  c++  java
  • 计蒜客--爬楼梯 (动态规划)

    假设你现在正在爬楼梯,楼梯有 nn 级。每次你只能爬 11 级或者 22 级,那么你有多少种方法爬到楼梯的顶部?

    输入格式

    第一行输入一个整数 n(1leq n leq 50)n(1n50),代表楼梯的级数。

    输出格式

    输出爬到楼梯顶部的方法总数。

    样例输入

    5

    样例输出

    8

    题解:动态规划 实际上是斐波那契
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <vector>
     6 #include <cstdlib>
     7 #include <iomanip>
     8 #include <cmath>
     9 #include <ctime>
    10 #include <map>
    11 #include <set>
    12 #include <queue>
    13 using namespace std;
    14 #define lowbit(x) (x&(-x))
    15 #define max(x,y) (x>y?x:y)
    16 #define min(x,y) (x<y?x:y)
    17 #define MAX 100000000000000000
    18 #define MOD 1000000007
    19 #define pi acos(-1.0)
    20 #define ei exp(1)
    21 #define PI 3.141592653589793238462
    22 #define INF 0x3f3f3f3f3f
    23 #define mem(a) (memset(a,0,sizeof(a)))
    24 typedef long long ll;
    25 ll gcd(ll a,ll b){
    26     return b?gcd(b,a%b):a;
    27 }
    28 bool cmp(int x,int y)
    29 {
    30     return x>y;
    31 }
    32 const int N=10005;
    33 const int mod=1e9+7;
    34 ll a[50];
    35 void init()
    36 {
    37     a[1]=1,a[2]=2;
    38     for(int i=3;i<=50;i++){
    39         a[i]=a[i-1]+a[i-2];
    40     }
    41 }
    42 int main()
    43 {
    44     std::ios::sync_with_stdio(false);
    45     int n;
    46     init();
    47     while(cin>>n){
    48         cout<<a[n]<<endl;
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    Beta冲刺——星期四
    Beta冲刺——星期三
    团队学期总结
    Beta版本发布
    第三天Beta冲刺
    第二天Beta冲刺
    第一天Beta冲刺
    个人作业——Alpha项目测试
    第四次团队作业
    第三次团队作业
  • 原文地址:https://www.cnblogs.com/wydxry/p/7275921.html
Copyright © 2011-2022 走看看