zoukankan      html  css  js  c++  java
  • CSU 1320 Scoop water (卡特兰数)

    1320: Scoop water

    Time Limit: 2 Sec  Memory Limit: 128 MB
    Submit: 494  Solved: 129
    [Submit][Status][Web Board]

    Description

      zzy今天刚买了两个水瓢A和B,容量都是为1升,童心未泯的他打算用这个水瓢来玩游戏。

      首先zzy准备了一个容量可看作无穷大的水缸,刚开始水缸是空的,然后用水瓢A往水缸里加水,用水瓢B把水缸里的水舀出去,当使用 水瓢B把水舀出去时水缸里必须要至少有1升的水。这样子使用N次水瓢A,也使用N次水瓢B,最后水缸会依旧空的。

    Input

      输入有多个例子,直到文件结束。

      每个例子仅含一个数N(0<N<=10000),表示你必须使用N次A水瓢和N次B水瓢。

    Output

      对于每个例子,请输出一个数,表示一共有多少种正确的舀水方式使得舀水过程中 使用B水瓢时水缸里总会有足够的水。

     (由于数字比较大,输出的答案模1000000007)

    Sample Input

    1
    2
    

    Sample Output

    1
    2
    

    HINT

    CSU_CX

    Source

    CSU Monthly 2013 Oct.

    卡特兰数关于出栈次序的应用

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<stdlib.h>
     5 #include<algorithm>
     6 using namespace std;
     7 const int mod=1000000007;
     8 long long f[10005];
     9 int n;
    10 int main()
    11 {
    12     //freopen("in.txt","r",stdin);;
    13     f[0]=1;
    14     for(int i=1;i<=10000;i++)
    15         for(int j=0;j<i;j++)
    16             f[i]=((f[j]*f[i-1-j])%mod+f[i])%mod;
    17             
    18     while(scanf("%d",&n)!=EOF)
    19     {
    20         printf("%lld
    ",f[n]);
    21     }
    22     return 0;
    23 }
    View Code
  • 相关阅读:
    Python实现网络多人聊天室
    C实现string字符串
    C getchar()
    C++ 数组遍历的两种方式
    Java 发红包
    Java递归实现阶乘
    Go defer语句
    bash shell——sum
    C——letterCounter
    数据结构——链队列(linked queue)
  • 原文地址:https://www.cnblogs.com/clliff/p/3960105.html
Copyright © 2011-2022 走看看