区域赛系列一多边形划分
时间限制: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
推荐博客:http://blog.csdn.net/zy691357966/article/details/40350961
#include <iostream> using namespace std; int main() { int n, m; int a[21] = {1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420}; cin >> n; for (int 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.