问题基本上就是这样:一行方格用red.pink,green三种颜色图,但是有个条件就是相邻的两个方格颜色不能相同。
这个明显的就是递归的问题。
//用递归的方法这样考虑:
//f(n) = (m-1)*a(n) + (m-2)*b(n);//a(n)代表第1格与第n-1格颜色颜色相同的种类数;
//b(n)代表第1格与第n-1格颜色颜色不相同的种类数,即f(n-1);
//a(n)中的第n-2格一定与第一格颜色不同,所以a(n)=f(n-2);
//所以有递推式 f(n) = (m-2)*f(n-1) + (m-1)*f(n-2);
//但是要注意n<=3时不满足递推关系,
//因为此时a(n)不合法