0
点赞
收藏
分享

微信扫一扫

一道趣题(catalan数)


一道趣题(catalan数)_output



catalan数

/*#include<cstdio>
#include<algorithm>
using namespace std;
#define mod 1000000
int main(){
    int n,i,j,k,sum,s[1010],f;
    //while(scanf("%d",&n))
    for(n=3;n<=20;n++){
        if(n==0)break;
        for(i=1;i<=n;i++)
            s[i]=i;
        sum=0;
        do{
            f=1;
            for(i=1;i<=n && f;i++)
                for(j=i+1;j<=n && f;j++)
                    for(k=j+1;k<=n && f;k++){
                        if(s[i]<s[j] && s[j]<s[k]){
                            f=0;
                            break;
                        }
                    }
            if(f)sum++;
        }while(next_permutation(s+1,s+n+1));
        printf(" %d =  %d\n",n,sum);
    }
}*/
#include<cstdio>
#define mod 1000000
long long h[1010];
int main(){
    int n,i,j;
    h[0]=1;h[1]=1;
    for(i=2;i<=1000;i++){
        for(j=0;j<=i-1;j++)
            h[i]=(h[i]+h[j]*h[i-1-j])%mod;
    }
    while(scanf("%d",&n)){
        if(n==0)break;
        printf("%lld\n",h[n]);
    }
}




举报

相关推荐

0 条评论