区域赛系列一多边形划分
时间限制:1000 ms | 内存限制:65535 KB
难度:2
-
描述
-
Give you a convex(凸边形), diagonal n-3 disjoint divided into n-2 triangles(直线), for different number of methods, such as n=5, there are 5 kindsof partition method, as shown in Figure
-
输入
-
The first line of the input is a n (1<=n<=1000), expressed n data set.
The next n lines each behavior an integer m (3<=m<=18), namely the convex edges.
输出
-
For each give m,, output how many classification methods.
example output: Case #a : b
样例输入
-
3345
样例输出
-
Case #1 : 1Case #2 : 2Case #3 : 5
-
The first line of the input is a n (1<=n<=1000), expressed n data set.
//算法 卡特兰数
<span style="font-family:SimSun;font-size:18px;">#include <stdio.h>
int a[20];
int main()
{
int n,b=0;
scanf("%d",&n);
while(n--)
{
int m,i;
scanf("%d",&m);
a[2] = 1, a[3] = 1, a[4] = 2, a[5] = 5;
for (i = 5; i <= 18; i++)
{
a[i+1]=a[i]*(4*i-6)/i;
}
printf("Case #%d : %d",++b,a[m]);
printf("\n");
}
return 0;
}</span>