题目
给定n个0和n个1,它们将按照某种顺序排成长度为2n的序列,求它们能排列成的所有序列中,能够满足任意前缀序列中0的个数都不少于1的个数的序列有多少个。
输出的答案对10^9+7取模。
输入格式
共一行,包含整数n。
输出格式
共一行,包含一个整数,表示答案。
数据范围
1≤n≤10^5
输入样例:
3
输出样例:
5
代码
n = int(input())
p = int(1e9+7)
def qmi(a, b, p):
res = 1
while b:
if b & 1:
res = res * a % p
a = a * a % p
b >>= 1
return res
j = 2*n
res = 1
for i in range(1, n+1):
res = res * j % p
res = res * qmi(i, p - 2, p)
j -= 1
res = res * qmi(n + 1, p - 2, p) % p
print(res)