洛谷P1722 矩阵 II
题目背景
usqwedf 改编系列题。
题目描述
如果你在百忙之中抽空看题,请自动跳到第六行。
众所周知,在中国古代算筹中,红为正,黑为负……
给定一个1*(2n)的矩阵(usqwedf:这不是一个2n的队列么),现让你自由地放入红色算筹和黑色算筹,使矩阵平衡[即对于所有的i(1<=i<=2n),使第1~i格中红色算筹个数大于等于黑色算筹]
问有多少种方案满足矩阵平衡。
见样例解释。
输入输出格式
输入格式:
正整数 n
输出格式:
方案数t对100取模
输入输出样例
说明
样例解释: 红 黑 红 黑
红 红 黑 黑
1<=n<=100
卡特兰数
1 #include<cstdio> 2 const int MAXN=100001; 3 inline int read() 4 { 5 char c=getchar();int x=0,flag=1; 6 while(c<'0'||c>'9') {if(c=='-') flag=-1;c=getchar();} 7 while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();return x*flag; 8 } 9 int n; 10 int dp[MAXN]; 11 int main() 12 { 13 n=read(); 14 dp[0]=1; 15 int ans=0; 16 for(int i=1;i<=n;i++) 17 for(int j=0;j<i;j++) 18 dp[i]=(dp[i]+dp[j]*dp[i-j-1])%100; 19 printf("%d",dp[n]); 20 return 0; 21 }
作者:自为风月马前卒
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。