Make Triangle SPOJ - TRNGL (卡特兰数)

来源:互联网 发布:js判断ie版本是否大于9 编辑:程序博客网 时间:2024/06/13 08:49

给出一个凸n边形,求用n-3条不相交的对角线将该n边形划分为三角形的方案数

Input

First line of the input will be an integer t (1<=t<=100000) which is the no of test cases. Each test case contains a single integer n (3<=n<=1000) which is the size of the polygon.

Output

For each test case output the no of ways %100007.

Example

Input:235 Output:15
代码:
#include<stdio.h>#include<math.h>#include<string.h>typedef long long LL;const int maxn=100007;LL a[1002];int main(){    int n;    int t;     memset(a,0,sizeof(a));    a[0]=1,a[1]=1;    for(int i=2;i<1002;i++)        for(int j=0;j<i;j++)            a[i]=(a[i]+a[j]*a[i-j-1])%maxn;    scanf("%d",&t);        while(t--){        scanf("%d",&n);        printf("%lld\n",a[n-2]);        }}
                                             
0 0
原创粉丝点击