题目背景

usqwedf 改编系列题。

题目描述

如果你在百忙之中抽空看题,请自动跳到第六行。

众所周知,在中国古代算筹中,红为正,黑为负……

给定一个1*(2n)的矩阵(usqwedf:这不是一个2n的队列么),现让你自由地放入红色算筹和黑色算筹,使矩阵平衡[即对于所有的i(1<=i<=2n),使第1~i格中红色算筹个数大于等于黑色算筹]

问有多少种方案满足矩阵平衡。

见样例解释。

输入格式

正整数 n

输出格式

方案数t对100取模


把红看成入栈,黑看成出栈,即为保证栈不为空

用卡特兰数求出栈方案

数据比较小,可以打表

#include<cstdio>
#include<iostream>
using namespace std;
const int N=115,mod=100;
#define int long long
int dp[N],n;
signed main(){
cin>>n;
dp[0]=1;dp[1]=1;dp[2]=2;
for(int i=3;i<=n;i++){
int j=0;
while(j<=i-1){
dp[i]+=dp[j]*dp[i-1-j];
dp[i]%=mod;
j++;
}
}
cout<<dp[n]<<endl;
}
#include<cstdio>
#include<iostream>
using namespace std;
const int N=115,mod=100;
#define int long long
int dp[N]={1,1,2,5,14,42,32,29,30,62,96,86,12,0,40,45,70,90,0,90,20,20,40,50,24,52,52,4,60,68,4,9,98,10,64,62,92,64,0,90,20,20,40,0,40,20,20,90,0,72,56,56,12,80,24,72,12,64,80,12,96,36,12,25,50,50,0,50,0,0,0,50,0,0,40,20,20,40,0,30,40,40,80,0,40,20,20,40,0,0,0,0,0,0,0,50,0,0,0,40,20},n;
signed main(){
int n;
cin>>n;
cout<<dp[n]<<endl;
}

最新文章

  1. 分布式算法系列——一致性Hash算法
  2. java中基本输入输出流的解释(flush方法的使用)
  3. ActiveMQ发布订阅模式
  4. php没有开启Memcache扩展类时
  5. wget下载FTP的文件
  6. win2008修改最大远程桌面连接数
  7. Android TextView多行文本滚动实现
  8. 【20161030la 】总结
  9. node.js 安装
  10. 酷狗音乐QQ显示(VC源代码)
  11. java线程例子登山
  12. HDU 1724 Ellipse [辛普森积分]
  13. redi应用-延时队列
  14. python之支付
  15. VSCode插件开发全攻略(七)WebView
  16. shell基础之bash
  17. js获取file控件的完整路径(上传图片预览)
  18. npm安装教程
  19. grep精确匹配搜索某个单词的用法 (附: grep高效用法小结))
  20. C# 事件 订阅与发布

热门文章

  1. ORACLE存储过程的创建和执行的简单示例和一些注意点
  2. Linux 解决ntfs文件系统问题,支持外设(U盘等设备)的即插即拔
  3. Python字符串类型判断错误
  4. nyoj 65-另一种阶乘问题 (Java 高精度)
  5. 领扣(LeetCode)找树左下角的值 个人题解
  6. 领扣(LeetCode)数字转换为十六进制数 个人题解
  7. django_2:模板
  8. 从cocos2dx源代码看android和iOS跨平台那些事
  9. Vue学习之Vue模拟后台数据
  10. React传值,验证值的类型和默认值