HDU 2045 不容易系列之(3)—— LELE的RPG难题(递推)

点我看题目

题意 : 中文题不解释。

思路  :先算了第3个第4个,算的时候发现只要在已经枚举出来的前边的状态中往后添加字母就行了,如果两个的都已经表示出来了,那第三个就可以在每个第二个后边加一个,在第一个后边加两个。

#include <stdio.h>

#define LL __int64

LL a[51] ;

void chart()

{

    a[1] = 3 ;

    a[2] = 6 ;

    a[3] = 6 ;

    for(int i = 4 ; i < 51 ; i++)

    a[i] = a[i-1]+a[i-2]*2 ;

}

int main()

{

    int n ;

    chart() ;

    while(~scanf("%d",&n))

    {

        printf("%I64d\n",a[n]) ;

    }

    return 0 ;

}
View Code

 

你可能感兴趣的:(HDU)