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\)

二者做差就是答案

posted @ 2020-11-25 22:07  邦的轩辕  阅读(43)  评论(0编辑  收藏  举报