HDU 1134 卡特兰数 大数乘法除法
It's still a simple game, isn't it? But after you've written down the 2n numbers, can you tell me in how many different ways can you connect the numbers into pairs? Life is harder, right?
3
-1
5
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
int n;
#define BASE 10000
#define UNIT 4
#define FORMAT "%04d" class BigNum{
public:
int a[20];
int length;
BigNum(const int k){ //用小于BASE的k初始化大数
memset(a, 0, sizeof(a));
a[0] = k;
length = 1;
}
BigNum(){
memset(a, 0, sizeof(a));
length = 0;
}
BigNum operator * (const BigNum & B){
BigNum ans;
int i,j,up=0,num;
for(i=0; i<length; i++){
up = 0; //每次循环都要初始化为0
for(j=0; j<B.length; j++){
num = up + a[i] * B.a[j] + ans.a[i+j];
up = num / BASE;
num = num % BASE;
// cout << num << endl;
ans.a[i+j] = num;
}
// cout << up << endl;
if(up > 0)
ans.a[i+j] = up;
}
ans.length = i+j;
while(ans.a[ans.length -1] == 0 && ans.length > 1)
ans.length--;
return ans;
}
BigNum operator /(const int & k) const{ // k < BASE, 对此题适用
BigNum ans;
int down=0,i,num;
for(i=length-1; i>=0; i--){
num = ( (down * BASE) + a[i] ) / k;
down = ( (down * BASE) + a[i] ) % k;
ans.a[i] = num;
}
ans.length = length;
while(ans.a[ans.length-1] == 0 && ans.length > 1)
ans.length -- ;
return ans;
}
void print(){
printf("%d", a[length-1]);
for(int i=length-2; i>=0; i--)
printf(FORMAT,a[i]);
}
}; //f(n) = C(2n,n)/(n+1)
int main(){
BigNum nums[101];
nums[1] = BigNum(1);
nums[2] = BigNum(2);
nums[3] = BigNum(5);
for(int i=4; i<=100; i++){
nums[i] = nums[i-1] * (4*i-2)/(i+1);
}
int n;
while(scanf("%d", &n), n>0){
nums[n].print();
printf("\n");
}
return 0;
}
HDU 1134 卡特兰数 大数乘法除法的更多相关文章
- 2014年百度之星程序设计大赛 - 初赛(第一轮) hdu Grids (卡特兰数 大数除法取余 扩展gcd)
题目链接 分析:打表以后就能发现时卡特兰数, 但是有除法取余. f[i] = f[i-1]*(4*i - 2)/(i+1); 看了一下网上的题解,照着题解写了下面的代码,不过还是不明白,为什么用扩展g ...
- hdu-1130(卡特兰数+大数乘法,除法模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1130 卡特兰数:https://blog.csdn.net/qq_33266889/article/d ...
- hdu 1130,hdu 1131(卡特兰数,大数)
How Many Trees? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- HDU 1134 Game of Connections(卡特兰数+大数模板)
题目代号:HDU 1134 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1134 Game of Connections Time Limit: 20 ...
- (母函数 Catalan数 大数乘法 大数除法) Train Problem II hdu1023
Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDOJ/HDU 1133 Buy the Ticket(数论~卡特兰数~大数~)
Problem Description The "Harry Potter and the Goblet of Fire" will be on show in the next ...
- hdu 1023 卡特兰数《 大数》java
Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Buy the Ticket HDU 1133 卡特兰数应用+Java大数
Problem Description The "Harry Potter and the Goblet of Fire" will be on show in the next ...
- 【hdoj_1133】Buy the Ticket(卡特兰数+大数)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1133 题目的意思是,m个人只有50元钱,n个人只有100元整钱,票价50元/人.现在售票厅没钱,只有50元 ...
随机推荐
- Nutch配置
http://www.linuxidc.com/Linux/2011-12/48782.htm http://wiki.apache.org/nutch/NutchHadoopTutorial htt ...
- mybatis数据库数据分页问题
http://www.cnblogs.com/jcli/archive/2011/08/09/2132222.html 借花献佛,天天进步
- 线性表的Java实现
一.概念 对于常用的数据结构,可分为线性结构和非线性结构,线性结构主要是线性表,非线性结构主要是数和图.当n>0时,表可表示为:(a0,a1,a2,a3,…an) 1. 线性表的特征: 1.存在 ...
- 关于SQLSERVER去掉如何重复值的记录
这个一个在日常工作中所遇到的问题 在此记录一下 dt_user_pay_record表 ID userid time money 1 2 2014-3-2 2 2 2 2015-3-2 33 3 2 ...
- 【刷题 Python Tip】题目1~5
[题目1]just print a+b give you two var a and b, print the value of a+b, just do it!! print (a + b) [题目 ...
- js添加、删除Cookie
//cookie function addCookie(objName, objValue, objHours) { //添加cookie var str = objName + "=&qu ...
- 修改Chrome的User Agent的方法 真实有效
如何修改Chrome的User Agent: 通过网络上查找,修改Chrome的Usre Agent有3种方式,但有的方式是不起作用的. 给Chrome添加启动参数(有作用) 通过扩展-User-Ag ...
- cql
创建keyspace :CREATE KEYSPACE keyspace1 WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': ...
- <!--转换office时需要此配置 --> <identity impersonate="true" />
1.需要对Office 进行操作时 ,添加权限 <!--转换office时需要此配置 --> <identity impersonate="true" /> ...
- ChildNodes详解及其兼容性处理方式
写在前面:在做insertBefore插入节点练习时发现一个问题,插入childNodes[0]和childNodes[1]时插入的位置是一样的!于是有了childNodes的了解,有了这篇文章,欢迎 ...