环形涂色问题

2024-04-29

问题:

一个圆环分成n节,有m种颜料,每节填一种颜色。要求相邻节不能重色,有多少种填法?

解答:

设一共f(n,m)种填法。

第一节填任意颜色,m种填法。后面一节填入和上一节不重复的颜色(m-1)种填法。全部填满一共m*(m-1)^(n-1)种填法。但是存在第一节和最后一节重色的情况。把第一节和最后一节合并成一节,正好符合f(n-1,m)的要求。因此

f(n,m) + f(n-1,m) = m(m-1)^(n-1) [1]
同理
f(n-1,m) + f(n-2,m) = m(m-1)^(n-2) [2]
… …
f(2,m)+f(1,m)=m(m-1)^1+m
f(1,m) + 0 = m(m-1)^0 [n]
当n为偶数时,公式[1]-[2]+[3]-[4]…-[n] 得

f(n,m) = m(m-1)^(n-1) – m(m-1)^(n-2)+m(m-1)^(n-3)… -m(m-1)^0+m
= m*[(m-1)^n -1]/(m-1+1)+m=(m-1)^n+(m-1)
同理当n为奇数时,f(n,m) =(m-1)^n-(m-1)
合并简化为f(n,m)=(m-1)^n+(m-1)(-1)^n (m>=2)

没有评论

发表回复