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

2021-08-17 00:23:39 字數 663 閱讀 5539

問題定義

乙個圓劃分為n個扇形,現用m種顏色對其上色,要求相鄰兩塊扇形的顏色不能相同,問有多少種上色方案?(其中n>=1,m>=3)

注意:不考慮對稱性,例如:乙個圓劃分為2個扇形,用3種顏色上色方案有「黑紅,黑白,白紅,白黑,紅白,紅黑」6種,相當於每個扇形都有編號,是不一樣的。

解題思路

採用數學歸納的思想。求n個扇形的上色方案,相當於在n-1個扇形中插入乙個扇形,這時只需考慮兩種情況:1、第1個扇形和第n-1個扇形顏色不一樣,這有s(n-1)種情況,此時插入的扇形n有m-2種顏色選擇;2、第1個扇形和第n-1個扇形顏色一樣(n>3),這有s(n-2)種情況,此時插入的扇形n有m-1種顏色選擇。

由以上分析可得:

s(1) =m;

s(2) = m(m-1);

s(3) = m(m-1)(m-2);

s(n) = s(n-1)*(m-2)+s(n-2)*(m-1);

**
#include 

#include

#include

using

namespace

std;

int fun(int n, int m)

return r;

}int main()

扇形塗色問題

題目描述 將乙個圓形等分成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種,相當於每個扇形都有編號,是不一樣的。解題思路 採用數學歸納的思...

扇形塗色問題 Python

問題描述 求 有多少種塗色方法。備註 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 種不同的...