zoukankan      html  css  js  c++  java
  • 题目1547:出入栈

    题目1547:出入栈

    时间限制:1秒
    内存限制:32 兆
    特殊判题:
    提交:742
    解决:249



     
    题目描述:
     
    给定一个初始为空的栈,和n个操作组成的操作序列,每个操作只可能是出栈或者入栈。
    要求在操作序列的执行过程中不会出现非法的操作,即不会在空栈时执行出栈操作,同时保证当操作序列完成后,栈恰好为一个空栈。
    求符合条件的操作序列种类。
    例如,4个操作组成的操作序列符合条件的如下:
    入栈,出栈,入栈,出栈
    入栈,入栈,出栈,出栈 
    共2种。

    输入:

    输入包含多组测试用例,每组测试用例仅包含一个整数n(1<=n<=1000)。

    输出:

    输出仅一个整数,表示符合条件的序列总数,为了防止总数过多超出int的范围,结果对1000000007取模(mod 1000000007)。

    样例输入:
    2
    4
    10
    样例输出:
           1
             2
             42
     
     

    状态F[i][j]表示入栈i次,出栈j次的序列总数,其中i>j。

    #include<stdio.h>
    const int MAX=500;
    long f[501][501];
    int main()
    {
        int n;
        for (int i=1;i<=MAX;i++)
            f[i][0]=1;
        for (int i=1;i<=MAX;i++)
            for (int j=1;j<=i;j++)
            {
                f[i][j]=f[i-1][j]+f[i][j-1];
                f[i][j]=f[i][j]%1000000007;
            }
        while(scanf("%d",&n)!=EOF)
        {
            if (n%2==1) printf("0
    ");
            else printf("%d
    ",f[n/2][n/2]);
        }
        return 0;
    }
  • 相关阅读:
    刷盘子的中国
    重温一些文章
    小心时间悄悄流失
    WebService笔记一
    JavaScript类型转换方法及需要注意的问题
    TSQL查询 点滴 1
    介绍几款浏览器兼容性测试工具
    [推荐] jQuery 表格插件汇总
    学会总结,学会关注细节,学会拥有一颗平静的心。
    Open Source Web Design!
  • 原文地址:https://www.cnblogs.com/Secontao/p/3606120.html
Copyright © 2011-2022 走看看