题目描述
售票处有2n(n<=1000)张票出售,每张票价a元,每人限购一张票。一开始售票处没有钱。而排队购票的前2n人中,正好有n个人持有a元,另n个人持有2a元钱。要让售票处不发生找钱困难,这2n个人有多少种不同的排队方法。
输入格式:
n
输出格式:
排队方案总数(不超过700位)
样例输入:
3
样例输出:
5
时间限制:
1000
空间限制:
262144
提示:
说明:设持a元的人为A,持2a元的人为B,则5种方案为
AAABBB
AABABB
AABBAB
ABAABB
ABABAB
这题题意很简单,用公式 : ans=ans×(2×n-i)÷(i+1) ,输出ans,即OK
但是,这题得用高精度[spoiler]忒坑了,第一次没用只得30分
/spoiler]
相信大家都会写高精吧
for(int i=0;i<n;i++){
//ans=ans*(2*n-i)/(i+1);
ans=mult(ans,2*n-i);//高精度乘法(高精乘低精)
ans=div(ans,i+1);//高精度除法(高精除低精)
}
ans=C(ans,n+1);