P3223 [HNOI2012]排队 排列组合,python高精
Posted goto_1600
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P3223 [HNOI2012]排队 排列组合,python高精相关的知识,希望对你有一定的参考价值。
题意:
n个男生,m个女生,2个老师,求老师不能相邻,女生不能相邻的方案数。
思路:
先把老师当作男生对待,最后减去老师相邻的方案,可以用插板法将女生插进男生堆里,由于要高精度,懒得写,搞一手py哈哈
答案就是不考虑老师-考虑老师的方案数
import math
def f(x):
return math.factorial(x)
def C(x,y):
if(x<y): return 0
return f(x)//f(y)//f(x-y)
a=input().split()
n=int(a[0])
m=int(a[1])
ans=f(n+2)*f(m)*C(n+3,m)-2*f(n+1)*C(n+2,m)*f(m)
print(ans)
以上是关于P3223 [HNOI2012]排队 排列组合,python高精的主要内容,如果未能解决你的问题,请参考以下文章