P3223 [HNOI2012]排队
题目描述
某中学有 \(n\) 名男同学,\(m\) 名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)
输入格式
只有一行且为用空格隔开的两个非负整数 \(n\)和 \(m\),其含义如上所述。
输出格式
仅一个非负整数,表示不同的排法个数。注意答案可能很大。
输入输出样例
输入 #1复制
1 1
输出 #1复制
12
说明/提示
对于 \(30\%\) 的数据 \(n\leq 100,m\leq 100\)
对于 \(100\%\) 的数据 \(n\leq 2000,m\leq 2000\)
思路
- 不考虑老师相邻
显然老师与男同学等价,用插空法解决
\(A_{n+2}^{n+2}\times A_{m}^{m}\times C_{n+3}^{m}\)
其中C中的\(n+3\)是因为有\(n+2\)个人,故有\(n+3\)个空
- 老师相邻
用捆绑法,两名老师整体与男同学等价,同样用插空法答案显然为
\(A_2^2\times A_{n+1}^{n+1}\times A_m^m\times C_{n+2}^m\)
二者做差就是答案