• HDU5366 The mook jong (DP)


    The mook jong

    问题描述
    ZJiaQ为了强身健体,决定通过木人桩练习武术。ZJiaQ希望把木人桩摆在自家的那个由1*1的地砖铺成的1*n的院子里。由于ZJiaQ是个强迫症,所以他要把一个木人桩正好摆在一个地砖上,由于木人桩手比较长,所以两个木人桩之间地砖必须大于等于两个,现在ZJiaQ想知道在至少摆放一个木人桩的情况下,有多少种摆法。
    
    输入描述
    输入有多组数据,每组数据第一行为一个整数n(1 < = n < = 60)
    
    输出描述
    对于每组数据输出一行表示摆放方案数
    
    输入样例
    1	
    2
    3
    4
    5
    6
    
    输出样例
    1
    2
    3
    5
    8
    12

    dp的题做的很少,看到题基本都没思路,大概多做些能好?

    代码:

    /************************************************
    Problem : 5366 ( The mook jong )     Judge Status : Accepted
    RunId : 14463983    Language : G++    Author : G_lory
    Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta
    ************************************************/
    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    //令f[i]为最后一个木人桩摆放在i位置的方案,令s[i]为f[i]的前缀和
    
    const int N = 65;
    long long f[N];
    long long s[N];
    
    int main()
    {
        f[1] = 1; f[2] = 1; f[3] = 1;
        s[1] = 1; s[2] = 2; s[3] = 3;
        for (int i = 4; i <= 60; ++i) {
            f[i] = s[i - 3] + 1;
            s[i] = s[i - 1] + f[i];
        }
        int n;
        while (scanf("%d", &n) == 1)
            printf("%lld
    ", s[n]);
        return 0;
    }
    

      

  • 相关阅读:
    VS2010和VS2015的Dll项目
    Umbraco遇到的问题解决
    EF Code first 和 DDD (领域驱动设计研究)系列一
    Gulp的学习和使用
    .Net开发中的@ 和 using 使用技巧
    异常基础
    正则表达式
    常用类
    泛型设计中<T> 和<E>的区别
    各个服务器启动命令
  • 原文地址:https://www.cnblogs.com/wenruo/p/4723947.html
Copyright © 2020-2023  润新知