题目大意:给定n个男生m个女生两个老师,求有多少种排列满足任意两个女生不相邻,任意两个老师也不相邻
def A(n):
re=1
for i in range(1,n+1):
re*=i
return re
def C(n,m):
if n<m:
return 0
return A(n)//A(m)//A(n-m)
n,m=[int(i) for i in raw_input().split()]
print m*A(n+1)*2*A(m-1)*C(n+2,m-1)+(A(n+2)-A(n+1)*2)*A(m)*C(n+3,m)

本文探讨了给定男生、女生和老师的数量条件下,如何计算排列方式,使得任意两个女生不相邻,任意两个老师也不相邻。通过定义函数A(n)、C(n,m),并使用输入的男生和女生数量来计算结果。
782

被折叠的 条评论
为什么被折叠?



