HDU 5366 The mook jong

题目地址:点击打开链接

思路:a[i] = a[i-1] + a[i-3] + 1

上一个阶段的各种组合+新增的一个能和离他2个格子的各种组合再组成一个新组合+只种新增的这一格

AC代码:

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    __int64 n,a[61],i;
    a[1] = 1;
    a[2] = 2;
    a[3] = 3;
    for(i=4; i<=60; i++)
    {
        a[i] = a[i-1] + a[i-3] + 1;
    }
    while(scanf("%I64d",&n) != EOF)
    {
        printf("%I64d\n",a[n]);
    }
    return 0;
}


你可能感兴趣的:(HDU 5366 The mook jong)