2011-12-15 06:20:00
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2045
题意:中文。
mark:递推。wa了1次。没考虑n=3的时候还不满足递推公式,因为n=3的时候,dp[i-2]不存在与首位不同的情况。n=4的时候才开始满足公式dp[i] = dp[i-2]*2 + dp[i-1]。
代码:
# include <stdio.h>
long long dp[55] = {0, 3, 6, 6} ;
int main()
{
int i, n ;
for (i = 4 ; i <= 50 ; i++)
dp[i] = dp[i-2]*2 + dp[i-1] ;
while (~scanf ("%d", &n))
printf ("%I64d\n", dp[n]) ;
return 0 ;
}