设在一排上有N个格子(N≤20),若在格子中放置有不同颜色的灯,每种灯的个数记为N1,N2,……Nk(k表示不同颜色灯的个数)。
放灯时要遵守下列规则:
①同一种颜色的灯不能分开;
②不同颜色的灯之间至少要有一个空位置。
例如:N=8(格子数)
R=2(红灯数)
B=3(蓝灯数)
放置的方法有:
R-B顺序
R |
R |
|
B |
B |
B |
|
|
R |
R |
|
|
B |
B |
B |
|
R |
R |
|
|
|
B |
B |
B |
|
R |
R |
|
B |
B |
B |
|
|
R |
R |
|
|
B |
B |
B |
|
|
R |
R |
|
B |
B |
B |
B-R顺序
B |
B |
B |
|
R |
R |
|
|
B |
B |
B |
|
|
R |
R |
|
B |
B |
B |
|
|
|
R |
R |
|
B |
B |
B |
|
R |
R |
|
|
B |
B |
B |
|
|
R |
R |
|
|
B |
B |
B |
|
R |
R |
放置的总数为12种。
程序要求:求排列总数。