nyoj-1103-区域赛系列一多边形划分

http://acm.nyist.net/JudgeOnline/problem.php?pid=1103

区域赛系列一多边形划分

时间限制: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

解题思路: 卡特兰数

1 #include <stdio.h>

2 #include <string.h>
 3 
 4 int Catalan(int n)
 5 {
 6     if(n <= 1)
 7         return 1;
 8 
 9     int *h = new int [n+1]; //保存临时结果
10     h[0] = h[1] = 1;        //h(0)和h(1)
11     for(int i = 2; i <= n; i++)    //依次计算h(2),h(3)...h(n)
12         {
13             h[i] = 0;
14        for(int j = 0; j < i; j++) //根据递归式计算 h(i)= h(0)*h(i-1)+h(1)*h(i-2) + ... + h(i-1)h(0)
15             h[i] += (h[j] * h[i-1-j]);
16     }
17     int result = h[n]; //保存结果
18     delete [] h;       //注意释放空间
19     return result;
20 }
21 
22 int main(){
23     int c, x;
24     int Case = 1;
25     scanf("%d", &c);
26     while(c--){
27         scanf("%d", &x);
28         printf("Case #%d : %d\n", Case++, Catalan(x - 2));
29     }
30     return 0;
31 }

时间: 2024-10-12 09:48:59

nyoj-1103-区域赛系列一多边形划分的相关文章

NYOJ 1103 —— m划分为n个正整数的个数

多边形划分 时间限制: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 inp

第39届ACM国际大学生程序设计竞赛 亚洲区域赛(现场赛)西安站

 第39届ACM国际大学生程序设计竞赛 亚洲区域赛(现场赛)西安赛区总结报告 报告人:田思明 队名:ACpioneer 队长:陈志阳,队员:顾振兴,田思明 西安区域赛告下帷幕,我和陈志阳,顾振兴组成的ACpioneer队最终获得了一块宝贵的铜牌.首先要感谢陈志阳和顾振兴两位杰出队友的努力训练和出色表现,我作为一个新人跟着他们学到了很多很多,也十分珍惜和他们在一起的训练,比赛时光,其次要感谢陈志老师,不辞辛劳陪我们5队和6队前往西安参加比赛,还要感谢集训队所有曾经帮过我们的所有队员们,记得cdy

2017区域赛简要小结

仅以此篇献给我即将逝去的2017年 ACM/ICPC系列赛事一站一站地打下去,和NOI系列赛事差不多.理论上说,只要有实力,拿不拿名次都无所谓.但"算法竞赛"的魅力就是如此:能拿WF的门票,能取得名次,这就是实力的证明,也是你追梦成功的证明! 前几天,灿哥约我咖啡,传授了一些"看上去比较显然,但肯定还不能完全理解"的人生道理给我.不过,至少这让我明白了ACM/ICPC赛事的成功之处.目标明确,摒弃杂念,就能持之以恒地向前努力.一个想进final的单纯动机,比很多荣誉

UVALive 7146 (贪心+少许数据结构基础)2014acm/icpc区域赛上海站

这是2014年上海区域赛的一道水题.请原谅我现在才发出来,因为我是在太懒了.当然,主要原因是我刚刚做出来. 其实去年我就已经看到这道题了,因为我参加的就是那一场.但是当时我们爆零,伤心的我就再也没有看过那一场的题了.昨天我的队友的高中同学建议我们一起来打一打这场比赛吧,然后我才再次回顾这场比赛.结果一堆琐事,我一共也没有做多久的题,我的队友扎扎实实看了5个小时的题,把另一道水题给过了.全场我们也只过了那么一道题.学姐说,做重现赛和现场赛比较,需要去掉一题,那么我们又爆零了. 题意: 我方有n个人

15北京区域赛——A 二分——hihoCoder 1249 Xiongnu&#39;s Land

两次二分,第一次取得最小值,第二次往右二分看是否能到更右边 注意超出部分land部分要去掉 #include <cstdio> #include <algorithm> using namespace std; typedef long long ll; struct edge{ int x, y, w, h; }a[10010]; bool cmp(edge A, edge B) { return A.x < B.x; } int n; ll cal(int x) { ll

2015亚洲区域赛长春赛区网络预选赛

第一次打网络赛,第一场,总体来说还可以吧,但是我们队三个人状态都并不太好,主要就是 WA 的比较多吧,开场看最后一题是我的习惯了,虽然貌似那题到打了一半可能才有队伍做出来了,我看了感觉像前几天训练赛的时候做的一道题.刻盘开场看 06 ,凯神开场 01.接着两分钟学长发现 07 水题我就跟着看了发题意,求区间最大值,静态.然后数据范围也很小,就直接开敲暴力,四分钟的时候过的,大概 20 名左右吧,那就是我们的最高名次了2333……接着我准备继续研究下 13 ,刻盘告诉我 06 是关于循环的子串的问

hdu5080:几何+polya计数(鞍山区域赛K题)

/* 鞍山区域赛的K题..当时比赛都没来得及看(反正看了也不会) 学了polya定理之后就赶紧跑来补这个题.. 由于几何比较烂写了又丑又长的代码,还debug了很久.. 比较感动的是竟然1Y了.. */ 题目大意: 给定一些点,某些点上有边,问用k种颜色染色的等价类有多少种 思路: 由于坐标是整数..只有可能旋转90,180,270才能得到置换 且图形必须为中心对称图形 先用几何方法找出对称中心 然后旋转,找是否出现置换... 由于点数只有50,几何预处理这一部分可以很暴力无脑的写..各种判断相

鞍山区域赛的总结+反思

玩acm大概也有半年了吧,大概是从大一下学期中后段的那一段时间开始接触acm的,暑假参加了集训之后,就开始了区域赛的网络赛的选拔,哎弱校没人权,最终组好的队伍也就那么四五队,弱校的acm氛围简直太差了,无法吸引很多的学生一起来玩耍,网络赛选拔的时候我们队是零贡献的,因为,有些师兄队要和我们共用一个账号,那些水题往往被他们很快先ac掉了,难题我们又做不了,只能让师兄们去做,多亏了他们,让scnu的每个区域赛都获得了现场赛的名额.哎 牡丹江凑不齐人数,结果最终只能放弃这个赛区了.两个字,弱校----

NYOJ 158 省赛来了

省赛来了 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 一年一度的河南省程序设计大赛又要来了. 竞赛是要组队的,组队形式:三人为一队,设队长一名,队员两名. 现在问题就来了,给你m个人,要求每队n个人,求共有几种不同的组队方式. (题目保证m%n等于0,所有数据不超出int范围) 输入 多组测试数据,以EOF结束. 每组测试数据输入两个整数m,n. 输出 对每组测试数据输出不同组队方式的数量(考虑到输出的数可能会很大,所以请输出对2013取余后的值),并在输出结束