【BZOJ2729】【HNOI2012】排队 组合数 数论 Python高精度
发布时间:2020-12-13 20:13:19 所属栏目:PHP教程 来源:网络整理
导读:转载请注明出处谢谢:http://blog.csdn.net/vmurder/article/details/42964151 题解: 代码里面有注释。 注意: Python2中的中文字符即便注释了,也会CE(固然,由于Python是直接运行,不编译,所以显示WA) 呃,而本地的Python3就不管它了。。 所以我的代码
转载请注明出处谢谢:http://blog.csdn.net/vmurder/article/details/42964151 题解: 代码里面有注释。 注意: Python2中的中文字符即便注释了,也会CE(固然,由于Python是直接运行,不编译,所以显示WA) 呃,而本地的Python3就不管它了。。
所以我的代码需要删掉中文注释再交233。
代码:
# n!(A(n+1,2)*A(n+3,m)+2*(n+1)*A(n+2,m⑴)*m)
# 首先男生随意放 这样是n!种摆法。
# 然后再加上俩老师,就有了n+3个放女生的位置,
# 也就是女生有A(n+3,m)种放法,但是老师的位置则应当是A(n+1,2)
# 然后若两老师扔到男生中时重复了,那末就需要中间插个女生
# 也就是女生有A(n+2,m⑴)种插法,而老师则是(n+1)种方法,
# 注意此时需要枚举是哪一个女生被放到老师中间,这有m种情况。
# 呃,两个老师也是不同的,所以此时需要再*2
# 这两种老师的放法是不重复且包括所有情况的
# 也就是我们再如上述处理两种老师放法时女生的排列数
# 就能够出解且包括所有情况。
# By YGY(id:18357)
def mul(x,y):
re = 1
for i in range (x,y + 1):
re = re * i
return re
n,m = raw_input().split()
n = int(n); m = int(m)
#print(mul(1,n)*((n+1)*n*mul(n+3-m+1,n+3)+2*(n+1)*m*mul(n+2-m+2,n+2)))
print(mul(1,n+1)*mul(n+4-m,n+2)*(n*(n+3)+2*m))
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |