有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.
递推公式:
A1 = 3
A2 = 6 //A(3,2)=6
A3 = 6 //A(3,3)=6
An=2*A(n-2)+A(n-1), n>=4
证明:
考虑第n-1个格子:
1. 如果这个格子和第1个格子颜色不同,那么第n个格子只有1种选择,前n-1个格子的选择就是A(n-1),此时n个格子的选择是1*A(n-1)
2. 如果这个格子和第1个格子颜色相同,那么第n个格子只有2种选择,前n-2个格子的选择就是A(n-2),此时n个格子的选择时2*A(n-2)
所以有An=2*A(n-2)+A(n-1), n>=4
remak: 因为我们是考虑第n-1个格子,该格子和第1个格子的颜色可能相同也可能不同,所以n>=4才可以。不然n=3的话,第n-1=3-1=2个格子和第一个格子的颜色必然不同了,就没有上面这2种情况了,所以要从n>=4开始推导。
M表示色的种数,Fn是方案数
Fn=(m-2)Fn-1+(m-1)Fn-2
不明觉厉