zoukankan      html  css  js  c++  java
  • hdu 1023 Train Problem II

    题目:

    这倒题看了一下午,才稍稍有点头绪,题意大概是:

    有很多列火车按升序进入站台,问出站台时的顺序有多少种。

    这道题要用到卡特兰数和大数乘法。

    代码如下,现在还不能自己打出来,参照的别人的代码。



    //h( n ) = ( ( 4*n-2 )/( n+1 )*h( n-1 ) );

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    
    using namespace std;
    
    int a[110][110];    //大数卡特兰数
    int b[110];         //卡特兰数的长度 
    
    void Catalan(){     //求卡特兰数
        int i,j,len,carry,tmp;
        a[1][0]=b[1]=1;
        len=1;
        for(i=2;i<=100;i++){
            for(j=0;j<len;j++)      //乘法 
                a[i][j]=a[i-1][j]*(4*i-2);
            carry=0;
            for(j=0;j<len;j++){     //处理相乘结果
                tmp=carry+a[i][j];
                a[i][j]=tmp%10;
                carry=tmp/10;
            }
            while(carry){       //进位处理 
                a[i][len++]=carry%10;
                carry/=10;
            }
            //carry=0;
            for(j=len-1;j>=0;j--){  //除法 
                tmp=carry*10+a[i][j];
                a[i][j]=tmp/(i+1);
                carry=tmp%(i+1);
            }   
            while(!a[i][len-1])     //高位零处理
                len--;
            b[i]=len;
        }
    }
    
    int main(){
        //freopen("input.txt","r",stdin);
        int n;
        Catalan();
        while(~scanf("%d",&n)){
            for(int i=b[n]-1;i>=0;i--)
                printf("%d",a[n][i]);
            printf("
    ");
        }
        return 0;
    }

    //h( n ) = ( ( 4*n-2 )/( n+1 )*h( n-1 ) );
  • 相关阅读:
    WebApi实现自定义错误日志
    WebApi实现IHttpControllerSelector问题
    动态属性ExpandoObject
    SQL远程连接
    HTML空格占位
    SQL生僻字模糊查询
    python中的字符串
    idea闪退
    lineNumber: 1; columnNumber: 1; 前言中不允许有内容。
    linux下后台启动weblogic
  • 原文地址:https://www.cnblogs.com/qie-wei/p/10160224.html
Copyright © 2011-2022 走看看