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

解题思路:

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\n",larr[n]);
return 0;
}

  

04-21 08:29