洛谷——P1754 球迷购票问题
2024-09-05 12:43:18
题目背景
盛况空前的足球赛即将举行。球赛门票售票处排起了球迷购票长龙。
按售票处规定,每位购票者限购一张门票,且每张票售价为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的值
输出格式:
一个整数,表示方案数
输入输出样例
说明
必开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]); ; }
最新文章
- Windows IIS 安装配置PHP环境
- 运行html,css,js好的软件
- C#命名空间“Microsoft.Office”中不存在类型或命名空间名称的终极解决方法
- python SocketServer 源码分析
- Android开发之创建App Widget和更新Widget内容
- 【微信公众号】WeixinJSBridge.call(&#39;closeWindow&#39;)无效
- PowerBI 第二篇:数据建模
- 全站HTTPS简单实践
- Linux下安装MySQL数据库(压缩包方式安装)
- 剑指Offer——知识点储备-Java基础
- obj-c编程01:第一个类和对象的范例
- 库存秒杀问题-redis解决方案- 接口限流
- java注解的概念理解
- 通过Hive将数据写入到ElasticSearch
- 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法
- vue里面引入jq的方法
- postgresql数据库常用命令
- Delegate背后的秘密
- 【JavaScript】particle
- Django学习笔记之Web框架由浅入深和第一个Django实例
热门文章
- io流中的装饰模式对理解io流的重要性
- Every Programmer Should Know These Latency Numbers
- The &#39;brew link&#39; step did not complete successfully
- jquery实现通用结构折叠面板效果
- 图片上传是否为空,以及类型的js验证
- bzoj4900 [CTSC2017]密钥
- UpdateData的用法(转)
- Python 本地线程
- win端git连接私服仓库+上传本地项目+从服务器下载文件到win
- [ Openstack ] Openstack-Mitaka 高可用之 Dashboard