题目背景

盛况空前的足球赛即将举行。球赛门票售票处排起了球迷购票长龙。

按售票处规定,每位购票者限购一张门票,且每张票售价为50元。在排成长龙的球迷中有N个人手持面值50元的钱币,另有N个人手持面值100元的钱币。假设售票处在开始售票时没有零钱。试问这2N个球迷有多少种排队方式可使售票处不致出现找不出钱的尴尬局面。

题目描述

例如当n=2是,用A表示手持50元面值的球迷,用B表示手持100元钱的球迷。则最多可以得到以下两组不同的排队方式,使售票员不至于找不出钱。

第一种:A A B B

第二种:A B A B

[编程任务]

对于给定的n (0≤n≤20),计算2N个球迷有多少种排队方式,可以使售票处不至于找不出钱。

输入输出格式

输入格式:

一个整数,代表N的值

输出格式:

一个整数,表示方案数

输入输出样例

输入样例#1: 复制

2
输出样例#1: 复制

2

说明

必开QWORD

测试:N=15

回溯:1秒(超时)

模拟栈:大于10分钟

递归算法:1秒(超时)

动态规划:0 MS

组合算法:16 MS

哇!卡特兰数欸、、

找了半天排列组合的规律没找出来,看了看题解结果发现是卡特兰数、、、

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 30
#define LL long long
using namespace std;
LL n,h[N];
LL read()
{
    LL x=,f=; char ch=getchar();
    ;ch=getchar();}
    +ch-',ch=getchar();
    return x*f;
}
int main()
{
    n=read();
    h[]=h[]=;
    ;i<=n;i++)
     ;j<=i;j++)
      h[i]=h[i]+h[j-]*h[i-j];
    printf("%lld",h[n]);
    ;
}

最新文章

  1. Windows IIS 安装配置PHP环境
  2. 运行html,css,js好的软件
  3. C#命名空间“Microsoft.Office”中不存在类型或命名空间名称的终极解决方法
  4. python SocketServer 源码分析
  5. Android开发之创建App Widget和更新Widget内容
  6. 【微信公众号】WeixinJSBridge.call(&#39;closeWindow&#39;)无效
  7. PowerBI 第二篇:数据建模
  8. 全站HTTPS简单实践
  9. Linux下安装MySQL数据库(压缩包方式安装)
  10. 剑指Offer——知识点储备-Java基础
  11. obj-c编程01:第一个类和对象的范例
  12. 库存秒杀问题-redis解决方案- 接口限流
  13. java注解的概念理解
  14. 通过Hive将数据写入到ElasticSearch
  15. 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法
  16. vue里面引入jq的方法
  17. postgresql数据库常用命令
  18. Delegate背后的秘密
  19. 【JavaScript】particle
  20. Django学习笔记之Web框架由浅入深和第一个Django实例

热门文章

  1. io流中的装饰模式对理解io流的重要性
  2. Every Programmer Should Know These Latency Numbers
  3. The &#39;brew link&#39; step did not complete successfully
  4. jquery实现通用结构折叠面板效果
  5. 图片上传是否为空,以及类型的js验证
  6. bzoj4900 [CTSC2017]密钥
  7. UpdateData的用法(转)
  8. Python 本地线程
  9. win端git连接私服仓库+上传本地项目+从服务器下载文件到win
  10. [ Openstack ] Openstack-Mitaka 高可用之 Dashboard