扇形图色问题
解法转自扇形图色问题
题目描述
将一个圆形等分成N个小扇形,将这些扇形标记为1,2,3,…,N。现在使用M种颜色对每个扇形进行涂色,每个扇形涂一种颜色,且相邻的扇形颜色不同。
求:有多少种涂色方法。
分析
设a(n)为符合要求的第n个扇形的涂色方法。
对扇形1有m种涂色方法,扇形2有m-1种涂色方法,扇形3也有m-1种涂色方法,扇形n也有m-1种涂色方法。于是,共有m×(m−1)^(n−1)种不同的涂色方法,但是这种涂色方法可能出现1与n着色相同的情形,这是不符合题意的,因此,答案应从m×(m−1)^(n−1)中减去这些不符合题意的涂色方法。不符合题意的涂色方法怎么计算?把1与n捆绑,其涂色方法相当于用m种颜色对n-1个扇形涂色,为a(n-1),于是:a(n)=m*(m-1)^(n-1)-a(n-1),
n>=3。其中a(3)=m*(m-1)*m(-2)。
其实到这里就可以直接用递归编程求解了。当然也可以继续推下去: