本帖最后由 青青子衿 于 2019-2-12 14:50 编辑
现有A、B、C三类节目,A类节目有\(n_1\)场,B类节目有\(n_2\)场,C类节目有\(n_3\)场;
要求节目表中不能有同类节目相邻,求排列数\(P\left(n_1,n_2,n_3\right)\)。
用MMA求出了个别结果:
\begin{array}{}
P\left(2,1,1\right)=12&P\left(3,1,1\right)=12\\
P\left(2,2,1\right)=48&P\left(3,2,1\right)=120\\
P\left(2,2,2\right)=240&P\left(3,2,2\right)=912\\
&P\left(3,3,1\right)=648\\
&P\left(3,3,2\right)=5328\\
&P\left(3,3,3\right)=37584
\end{array}
- Cases[Permutations[{A1, A2, B1, C1}],
- Except[{___, A1, A2, ___} | {___, A2, A1, ___}]] // Length
- Cases[Permutations[{A1, A2, B1, B2, C1}],
- Except[{___, A1, A2, ___} | {___, A2, A1, ___} |
- {___, B1, B2, ___} | {___, B2, B1, ___}]] // Length
- Cases[Permutations[{A1, A2, B1, B2, C1, C2}],
- Except[{___, A1, A2, ___} | {___, A2, A1, ___} |
- {___, B1, B2, ___} | {___, B2, B1, ___} |
- {___, C1, C2, ___} | {___, C2, C1, ___}]] // Length
- Cases[Permutations[{A1, A2, A3, B1, C1}],
- Except[{___, A1, A2, ___} | {___, A2, A1, ___} |
- {___, A1, A3, ___} | {___, A3, A1, ___} |
- {___, A2, A3, ___} | {___, A3, A2, ___}]] // Length
复制代码 |