codevs1086 栈

Posted MashiroSky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codevs1086 栈相关的知识,希望对你有一定的参考价值。

http://codevs.cn/problem/1086/ (题目链接)

题意

  给出1~n总共n个数,对它们进行入栈出栈操作,问一共有多少种不同的方案。

Solution

  找规律手玩前4个发现是卡特兰数,再见。

代码

// codevs1086
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<queue>
#define MOD 1000000007
#define inf 2147483640
#define LL long long
#define free(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout);
using namespace std;



int main() {
	int n,f[20]={0};
	scanf("%d",&n);
	f[0]=1;f[1]=1;
	for (int i=2;i<=n;i++)
		for (int j=0;j<i;j++)
			f[i]+=f[j]*f[i-j-1];
	printf("%d",f[n]);
	return 0;
}

  

以上是关于codevs1086 栈的主要内容,如果未能解决你的问题,请参考以下文章

codevs 1086 栈(Catalan数)

codevs 1086 栈 2003年NOIP全国联赛普及组

[Catalan数]1086 栈3112 二叉树计数3134 Circle

codevs1170 双栈排序

codevs 1170 双栈排序

PAT A1086 Tree Traversals Again [二叉树前序中序求后序]