#题目描述
某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)
#做法
裸数学题
考虑以下两种情况
- 老师连在一起,那么老师间有一个妹子,\(Answer=(N+1)!\times A(N+2,M-1) \times 2m\)
- 老师不连一起,那么\(Answer=A(N+1,2)\times A(N+3,M)\)
所以最终的答案就是\((N+1)!\times A(N+2,M-1) \times 2m + A(N+1,2)\times A(N+3,M)\)
#复杂度分析
求\(N!\)的时间复杂度为\(O(N)\),由于需要高精度,实际复杂度为\(O(N \log N)\)