AcWing 889. 满足条件的01序列
原题链接
简单
作者:
gongjin
,
2023-01-11 17:14:31
,
所有人可见
,
阅读 99
卡特兰数 JAVA实现
import java.util.Scanner;
class Main {
static int mod = (int) 1e9 + 7;
public static int qmi(int a, int k, int p) {
int res = 1 % p;
while (k > 0) {
if ((k & 1) == 1) res = (int) ((long) res * a % p);
a = (int) ((long) a * a % p);
k >>= 1;
}
return res;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int a = 2 * n;
int b = n;
int res = 1;
for (int i = a; i > a - b; i--) res = (int) ((long) res * i % mod);
for (int i = 1; i <= b; i++) res = (int) ((long) res * qmi(i, mod - 2, mod) % mod);
res = (int) ((long) res * qmi(n + 1, mod - 2, mod) % mod);
System.out.println(res);
}
}