• HDU-5366-The mook jong


    Problem Description
    ZJiaQ want to become a strong man, so he decided to play the mook jong。ZJiaQ want to put some mook jongs in his backyard. His backyard consist of n bricks that is 1*1,so it is 1*n。ZJiaQ want to put a mook jong in a brick. because of the hands of the mook jong, the distance of two mook jongs should be equal or more than 2 bricks. Now ZJiaQ want to know how many ways can ZJiaQ put mook jongs legally(at least one mook jong).

    Input
    There ar multiply cases. For each case, there is a single integer n( 1 < = n < = 60)

    Output
    Print the ways in a single line for each case.

    Sample Input
    1
    2
    3
    4
    5
    6

    Sample Output
    1
    2
    3
    5
    8
    12

    Source
    BestCoder Round #50 (div.2)

    ——————————并不华丽的分界线—————————————–

    题目大意:ZJiaQ为了强身健体,决定通过木人桩练习武术。ZJiaQ希望把木人桩摆在自家的那个由1*1的地砖铺成的1*n的院子里。由于ZJiaQ是个强迫症,所以他要把一个木人桩正好摆在一个地砖上,由于木人桩手比较长,所以两个木人桩之间地砖必须大于等于两个,现在ZJiaQ想知道在至少摆放一个木人桩的情况下,有多少种摆法。

    假设用f[n]表示有n个地板时所有的可能情况,那么可以分为两种情况。
    一种是如果在第n个地板上不放置木桩的情况,一种是如果在第n个地板上放置木桩的情况。
    对于第一种情况,可能的方案就为f[n-1],因为不在这个地板上放置木桩,所以等同于有n-1个地板可以放置的方案数。
    而对于第二种情况,我们知道,如果在第n个木板上放置木桩,那么上一个放置木桩的地方最近可以为n-3的地方,也就是说等同于在n-3个木板上放置木桩的最大方案数,但是因为在n-3个地板上放置的方案数不包括一个木桩都不放的情况,而如果仅在第n个木桩放置木桩,那么则需要加一。
    由此可以得到递推关系:f[n] = f[n-1] + f[n-3] + 1;
    那么这道题就非常容易了。
    代码如下

    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    typedef long long LL;
    
    int main()
    {
        LL n;
        LL f[61];
        f[1] = 1;
        f[2] = 2;
        f[3] = 3;
        for(int i = 4; i <= 60; i++){
            f[i] = f[i-1] + f[i-3] + 1;
        }
        while(~scanf("%lld",&n)){
            printf("%lld
    ",f[n]);
        }
        return 0;
    }

    如有哪里疏漏,请各位大牛指正。

  • 相关阅读:
    bzoj 2257 (JSOI 2009) 瓶子与燃料
    bzoj 2257 (JSOI 2009) 瓶子与燃料
    splay 模板 洛谷3369
    费用流 模板 洛谷3381
    bzoj 1024 [SCOI2009]生日快乐——模拟
    bzoj 3231 [Sdoi2008]递归数列——矩阵乘法
    hdu 5823 color II——子集dp(独立集)
    bzoj 1093 [ZJOI2007]最大半连通子图——缩点+拓扑
    洛谷 3959 宝藏——枚举+状压dp
    bzoj 1034 [ZJOI2008]泡泡堂BNB——贪心
  • 原文地址:https://www.cnblogs.com/wiklvrain/p/8179490.html
Copyright © 2020-2023  润新知