BC

The mook jong

 
 Accepts: 185
 
 Submissions: 306
 Time Limit: 2000/1000 MS (Java/Others)
 
 Memory Limit: 65536/65536 K (Java/Others)
Problem Description

BC_第1张图片

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
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;
#define LL long long
#define maxn 66

int n;
LL d[maxn];

int main()
{
    d[1] = 1;
    d[2] = 2;
    d[3] = 3;
    for(int i = 3; i <= 60; i++)
        d[i] = d[i - 1] + ( d[i - 3] + 1 );
    while(~scanf("%d", &n))
    {
        printf("%I64d\n", d[n]);
    }
    return 0;
}

你可能感兴趣的:(ACM,HDU)