两种动态规划法
一、当前栅栏i与之前栅栏i-1颜色相同,更之前栅栏i-2的涂色方案为F(i-2),当前栅栏的涂色方式有k-1种。
i与i-1的颜色不一样,当前栅栏颜色涂色方式有k-1种
F(i)=F(i-2)*k-1+F(i-1)*k-1
二、当前i的颜色,由i-1和i-2的颜色是否相同决定
从i=2开始
int diff_color = k * (k - 1);
int same_color = k;
i=1时有k种涂法,i=2时与i-1相同颜色有k中涂法,与i-1不同由k*(k-1)种涂法
总数是diff_color+same_color
i=3时,i与i-1不同的涂法是(diff_color+same_color) (k-1)每种情况都有除开自己颜色的涂法
而i与i-1相同的涂法 只能是diff_colork,必须满足前两个颜色不同,这里才能相同。