zoukankan      html  css  js  c++  java
  • hdu 超级楼梯 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 

         哦~~对了,这些题读者可以直接忽略,我只是想练习一下自己薄弱的地方......

         题目意思我就不说了...自从昨晚问完乌冬兄一条DP题之后,“一体就知道系DP啦,而且仲好简单噶DP...”。就深感自己是如此地弱......可能有一段相当漫长的时间不会再找他了,毕竟一个喳喳对着一个区域赛银牌的人,自尊心作祟,而且,很大压力!我发现我好多不会......他好像以为我什么都会......

          这条题以前做过,用递推做的,因为昨天那题说用到记忆化搜索,现在就用记忆化搜索做。调了一下,加深了递归的理解。我觉得,递归对我来说,就是一只拦路虎,只能通过多做来努力去攻克了,fighting!!!

         这个是我通过调试并在纸上模拟过程做的。代表到达第6级楼梯时有多少种走法。

        

       

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstdlib>
     4 #include <cstring>
     5 using namespace std;
     6 
     7 const int maxn = 40 + 10;
     8 int a[maxn];
     9 
    10 int f(int n)
    11 {
    12     if (n == 1 || n == 2)
    13         return a[n] = 1;
    14     if (a[n] != -1)   // 这里用到记忆化搜索
    15         return a[n];
    16     return a[n] = f(n-1) + f(n-2);
    17 }
    18 
    19 int main()
    20 {
    21     int n, m;
    22     memset(a, -1, sizeof(a));
    23     while (scanf("%d", &n) != EOF)
    24     {
    25         while (n--)
    26         {
    27             scanf("%d", &m);
    28             printf("%d
    ", f(m));
    29         }
    30     }
    31     return 0;
    32 }
  • 相关阅读:
    Java面试基础 -- Git篇
    Java面试基础
    如何避免死锁?
    如何减少上下文切换?
    Java中的volatile变量有什么作用?
    Thread类中start()方法喝run()方法有什么不同?
    (一)java异常处理的几个问题
    SUSE CaaS Platform 4
    SUSE CaaS Platform 4
    SUSE Ceph 增加节点、减少节点、 删除OSD磁盘等操作
  • 原文地址:https://www.cnblogs.com/windysai/p/3813611.html
Copyright © 2011-2022 走看看