傳送門:HDU-2045
典型的遞推題目,特殊到一般,推出遞推方程式,迭代即可。代碼如下:
#include<stdio.h>
int main() {
int i;
long long dp[51];
dp[1]=3;
dp[2]=6;
dp[3]=6; // 3個格子,最後一個沒得選擇,所以也是6種情況
for(i=4;i<51;i++)
dp[i]=dp[i-1]+dp[i-2]*2; // i-1與i-2不同色,i沒得選。 i-1與i-2同色,i-1沒得選,直接是(i-2)*2
while(scanf("%d",&i)!=EOF)
printf("%lld\n",dp[i]);
return 0;
}