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

 解题思路:

f(n)=1,2,.....n-2,n-1,n

前n-2个已经涂好,那么n-1有两种可能

1.n-1与n-2和1 的颜色都不同 

  1 粉,   n-2 红,   n-1 绿、  那么n的颜色可以说是没得选了f(n-1)种可能

  1 红,   n-2 绿 ,   n-1 粉 

  1 绿,    n-2 红,    n-1 粉

2.n-1与n-2不同但与1相同,那么n就有两种选择

  1 红,   n-2 绿,   n-1  红,   n 绿/粉   

  1 绿,   n-2 粉,   n-1  绿,   n 粉/红  

  1 粉,    n-2 红,    n-1 粉   n 红/绿

可以看出此时 n的颜色可能有2*f(n-2)

#include <stdio.h>
int main(void)
{
    int n,i;
    long long larr[55];
    larr[1]=3;larr[2]=6;larr[3]=6;
    for(i=4;i<55;i++)larr[i]=larr[i-1]+2*larr[i-2];
    while(scanf("%d",&n)!=EOF)
        printf("%lld
",larr[n]);
    return 0;
}

  

原文地址:https://www.cnblogs.com/A--Q/p/5697996.html