NYOJ 1103 —— m划分为n个正整数的个数
2016-05-18 21:37
417 查看
多边形划分
时间限制:1000 ms | 内存限制:65535 KB描述
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 <cstdio> #include <iostream> using namespace std; int dp[20]; int f(int n) { if(dp ) return dp ; if(n == 2 || n == 3) return 1; if(n == 4) return 2; int ret = 0; for(int i=2; i<n; i++) { ret += f(i) * f(n-i+1); } return dp = ret; } int main () { int n, m; scanf("%d", &n); for(int kase=1; kase<=n; kase++) { scanf("%d", &m); printf("Case #%d : %d\n", kase, f(m)); } return 0; }
相关文章推荐
- 卡特兰数
- NYOJ 651 —— n划分为2个以上不同正整数的划分个数
- Java集合类的继承关系
- TestNG参数化测试之Excel读取数据
- CSS中的字体背景和盒子模型
- 并查集详解
- NYOJ 571 —— 各种划分数
- NYOJ 90 —— 求正整数n划分为若干个正整数的划分个数
- NYOJ 746 - 正整数n划分为m段,求m段的最大乘积 【区间DP】
- NYOJ 176 、POJ 1664 —— m划分为n个正整数的划分个数
- NYOJ 1077 【博弈+大整数取模】
- 通过指针运算符访问对象成员和构造函数的特点
- NYOJ 23 —— 取石子(一)【博弈】
- SLG时间定价策略浅析
- 最长上升子序列 LIS
- POJ 1141 —— Brackets Sequence
- POJ 3280 —— Cheapest Palindrome
- POJ 3661 —— Running
- 用气发声五大问题的解析
- UVA - 10003 —— Cutting Sticks