扇形塗色問題 Python

2021-08-18 16:37:01 字數 744 閱讀 7003

問題描述:

求:有多少種塗色方法。 

備註:n>=1,m>=3;

分析:(n

)a(n)

為符合要求的n

n個扇形的塗色方法總和。 

對扇形1有m種塗色方法,扇形2有m-1

m-1種塗色方法,扇形3也有m-1

m-1種塗色方法,扇形n也有m-1

m-1種塗色方法。於是,共有m×(

m−1)

(n−1

)m×(m−1)(n−1)

種不同的塗色方法,但是這種塗色方法可能出現1與n著色相同的情形,這是不符合題意的,因此應從m×(

m−1)

(n−1

)m×(m−1)(n−1)

中減去這些不符合題意的塗色方法。不符合題意的塗色方法怎麼計算?1與n看做是乙個扇形,其塗色方法相當於用m種顏色對n-1個扇形塗色,即a(n

−1)。遞推關係如下:(n

)=m∗

(m−1

)(n−

1)−a

(n−1

),n>=

3

def paint(m, n):

if n == 1:

return m

elif n == 2:

return m*(m - 1)

return m* (m - 1)^(n - 1) - paint(m, n-1)

扇形塗色問題

題目描述 將乙個圓形等分成n個小扇形,將這些扇形標記為1,2,3,n。現在使用m種顏色對每個扇形進行塗色,每個扇形塗一種顏色,且相鄰的扇形顏色不同。求 有多少種塗色方法。分析設a n 為符合要求的第n個扇形的塗色方法。對扇形1有m種塗色方法,扇形2有m 1種塗色方法,扇形3也有m 1種塗色方法,扇形...

扇形塗色問題

問題定義 乙個圓劃分為n個扇形,現用m種顏色對其上色,要求相鄰兩塊扇形的顏色不能相同,問有多少種上色方案?其中n 1,m 3 注意 不考慮對稱性,例如 乙個圓劃分為2個扇形,用3種顏色上色方案有 黑紅,黑白,白紅,白黑,紅白,紅黑 6種,相當於每個扇形都有編號,是不一樣的。解題思路 採用數學歸納的思...

阿里實習測評 扇形塗色問題

問題定義 乙個圓劃分為n個扇形,現用m種顏色對其上色,要求相鄰兩塊扇形的顏色不能相同,問有多少種上色方案?其中n 1,m 3 注意 不考慮對稱性,例如 乙個圓劃分為2個扇形,用3種顏色上色方案有 黑紅,黑白,白紅,白黑,紅白,紅黑 6種,相當於每個扇形都有編號,是不一樣的。解題思路 採用數學歸納的思...