题目链接:http://acm.sdibt.edu.cn:8080/judge/contest/view.action?cid=316#problem/I
题目要求用栈求解,这里用卡特兰数求解:
#include <stdio.h>
unsigned long long a[100];
int main()
{
      int n,i,j;
     scanf("%d",&n);
     a[0]=1;
     for(i=0;i<=n;i++)
          for(j=0;j<i;j++)
                a[i]+=a[j]*a[i-j-1];//用递归容易超时
    printf("%llu",a[n]);
    return 0;
}

发表评论

电子邮件地址不会被公开。

Post Navigation