区域赛系列一多边形划分
时间限制:
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 kinds of 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
样例输入
-
3
-
3
-
4
-
5
样例输出
-
Case #1 : 1
-
Case #2 : 2
-
Case #3 : 5
提示
Catalan number
我的代码:
#include <iostream> using namespace std; int main() { int n,m,i; int a[20]; a[1]=1; for (i=2;i<=18;++i) { a[i]=a[i-1]*(4*i-2)/(i+1); } cin >> n; for(i=1;i<=n;++i) { cin >> m; cout <<"Case #" << i <<" : " << a[m-2] << endl; } return 0; }
-
The first line of the input is a n (1<=n<=1000), expressed n data set.