[POJ2084]Game of Connections

Time Limit: 1000MS   Memory Limit: 30000K
Total Submissions: 7888   Accepted: 3965

Description

This is a small but ancient game. You are supposed to write down the numbers 1, 2, 3, . . . , 2n - 1, 2n consecutively in clockwise order on the ground to form a circle, and then, to draw some straight line segments to connect them into number pairs. Every number must be connected to exactly one another. 
And, no two segments are allowed to intersect. 
It‘s still a simple game, isn‘t it? But after you‘ve written down the 2n numbers, can you tell me in how many different ways can you connect the numbers into pairs? Life is harder, right?

Input

Each line of the input file will be a single positive number n, except the last line, which is a number -1. 
You may assume that 1 <= n <= 100.

Output

For each n, print in a single line the number of ways to connect the 2n numbers into pairs.

Sample Input

2
3
-1

Sample Output

2
5

Source

Shanghai 2004 Preliminary

Thinking

  高精度卡特兰数,如果不想写高精度就像我一样打表吧。记得用超长字符串。

  PS:卡特兰数第一百项需用恒河沙记(10^57),你考虑考虑什么能存的下。

const a:array[1..100] of ansistring  =
(‘1‘,
 ‘2‘,
 ‘5‘,
 ‘14‘,
 ‘42‘,
 ‘132‘,
 ‘429‘,
 ‘1430‘,
 ‘4862‘,
 ‘16796‘,
 ‘58786‘,
 ‘208012‘,
 ‘742900‘,
 ‘2674440‘,
 ‘9694845‘,
 ‘35357670‘,
 ‘129644790‘,
 ‘477638700‘,
 ‘1767263190‘,
 ‘6564120420‘,
 ‘24466267020‘,
 ‘91482563640‘,
 ‘343059613650‘,
 ‘1289904147324‘,
 ‘4861946401452‘,
 ‘18367353072152‘,
 ‘69533550916004‘,
 ‘263747951750360‘,
 ‘1002242216651368‘,
 ‘3814986502092304‘,
 ‘14544636039226909‘,
 ‘55534064877048198‘,
 ‘212336130412243110‘,
 ‘812944042149730764‘,
 ‘3116285494907301262‘,
 ‘11959798385860453492‘,
 ‘45950804324621742364‘,
 ‘176733862787006701400‘,
 ‘680425371729975800390‘,
 ‘2622127042276492108820‘,
 ‘10113918591637898134020‘,
 ‘39044429911904443959240‘,
 ‘150853479205085351660700‘,
 ‘583300119592996693088040‘,
 ‘2257117854077248073253720‘,
 ‘8740328711533173390046320‘,
 ‘33868773757191046886429490‘,
 ‘131327898242169365477991900‘,
 ‘509552245179617138054608572‘,
 ‘1978261657756160653623774456‘,
 ‘7684785670514316385230816156‘,
 ‘29869166945772625950142417512‘,
 ‘116157871455782434250553845880‘,
 ‘451959718027953471447609509424‘,
 ‘1759414616608818870992479875972‘,
 ‘6852456927844873497549658464312‘,
 ‘26700952856774851904245220912664‘,
 ‘104088460289122304033498318812080‘,
 ‘405944995127576985730643443367112‘,
 ‘1583850964596120042686772779038896‘,
 ‘6182127958584855650487080847216336‘,
 ‘24139737743045626825711458546273312‘,
 ‘94295850558771979787935384946380125‘,
 ‘368479169875816659479009042713546950‘,
 ‘1440418573150919668872489894243865350‘,
 ‘5632681584560312734993915705849145100‘,
 ‘22033725021956517463358552614056949950‘,
 ‘86218923998960285726185640663701108500‘,
 ‘337485502510215975556783793455058624700‘,
 ‘1321422108420282270489942177190229544600‘,
 ‘5175569924646105559418940193995065716350‘,
 ‘20276890389709399862928998568254641025700‘,
 ‘79463489365077377841208237632349268884500‘,
 ‘311496878311103321137536291518809134027240‘,
 ‘1221395654430378811828760722007962130791020‘,
 ‘4790408930363303911328386208394864461024520‘,
 ‘18793142726809884575211361279087545193250040‘,
 ‘73745243611532458459690151854647329239335600‘,
 ‘289450081175264899454283846029490767264392230‘,
 ‘1136359577947336271931632877004667456667613940‘,
 ‘4462290049988320482463241297506133183499654740‘,
 ‘17526585015616776834735140517915655636396234280‘,
 ‘68854441132780194707888052034668647142985206100‘,
 ‘270557451039395118028642463289168566420671280440‘,
 ‘1063353702922273835973036658043476458723103404520‘,
 ‘4180080073556524734514695828170907458428751314320‘,
 ‘16435314834665426797069144960762886143367590394940‘,
 ‘64633260585762914370496637486146181462681535261000‘,
 ‘254224158304000796523953440778841647086547372026600‘,
 ‘1000134600800354781929399250536541864362461089950800‘,
 ‘3935312233584004685417853572763349509774031680023800‘,
 ‘15487357822491889407128326963778343232013931127835600‘,
 ‘60960876535340415751462563580829648891969728907438000‘,
 ‘239993345518077005168915776623476723006280827488229600‘,
 ‘944973797977428207852605870454939596837230758234904050‘,
 ‘3721443204405954385563870541379246659709506697378694300‘,
 ‘14657929356129575437016877846657032761712954950899755100‘,
 ‘57743358069601357782187700608042856334020731624756611000‘,
 ‘227508830794229349661819540395688853956041682601541047340‘,
 ‘896519947090131496687170070074100632420837521538745909320‘
 );
var n:longint;
begin
    while true do
        begin
            read(n);
            if n=-1 then halt;
            writeln(a[n]);
        end;
end.

时间: 2024-10-15 02:31:23

[POJ2084]Game of Connections的相关文章

POJ2084 Game of Connections 卡特兰数 关于卡特兰数经典的几个问题

Game of Connections Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 9128   Accepted: 4471 Description This is a small but ancient game. You are supposed to write down the numbers 1, 2, 3, . . . , 2n - 1, 2n consecutively in clockwise ord

nyoj 164&amp;&amp;poj2084 Game of Connections 【卡特兰】

题意:将1~2n个数按照顺时针排列好,用一条线将两个数字连接起来要求:线之间不能有交点,同一个点只允许被连一次. 最后问给出一个n,有多少种方式满足条件. 分析: ans[n]表示n的中的种类数. 规定ans[0] = ans[1] = 1: 假设给出的数是n那么从1开始, 与1之间相连的数与1之间间隔的对数分别是0, 1, ..n-1, 那么我们就可以将他们分割成两部分,对于每一部分我们分别将其的结果求出,之后再相乘就是间隔对数s(s是0, ..n-1)的总的种类数. 最后我们可以总结出ans

解决mysql 1040错误Too many connections的方法

1.可能是mysql的max connections设置的问题 2.可能是多次insert,update操作没有关闭session,需要在spring里配置transaction支持. 解决: 1.修改tomcat里的session 的time-out时间减少为20,(不是必改项) 2.对处理量大的对数据库insert或update的操作提供transaction支持. ======================================= 下面的是解决办法: com.mysql.jdb

Dynamics CRM 流程错误 simultaneous connections limit reached for organization error occured

有时候流程记录报的错误显示"simultaneous connections limit reached for organization error occured! " 重启异步服务或许有用,但是什么原因引起的呢? 原来在MSCRM_Config数据库的[DeploymentProperties]表里面有两个相关设置,限制同时连接数. SharedDBConnectionPoolPerOrgLimit' 和 'AsyncMaximumThreadsPerCPU' 它们的默认值如下图

Configure Security Settings for Remote Desktop(RDP) Services Connections

catalogue 1. Configure Server Authentication and Encryption Levels 2. Configure Network Level Authentication for Remote Desktop Services Connections 3. Configure Client Logon Information for Remote Desktop Services Connections 4. Configure Permission

hdu-2874 Connections between cities(lca+tarjan+并查集)

题目链接: Connections between cities Time Limit: 10000/5000 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others) Problem Description After World War X, a lot of cities have been seriously damaged, and we need to rebuild those cities. However, s

Windows 7下解决: java.net.SocketException: No buffer space available (maximum connections reached?)

查了一大堆网上的资料全都没用,Google得知,是Windows 7 的socket泄漏 : https://supportkb.riverbed.com/support/index?page=content&id=S23580&actp=LIST_RECENT 补丁下载地址:  http://support.microsoft.com/kb/2577795 记录一下. Windows 7下解决: java.net.SocketException: No buffer space avai

mysql数据库Too many connections 错误的解决过程记录

在做一个注册页面的时候,要用到ajax异步校验用户输入的信息是否正确,还得做用户名查重工作,所以需要频繁的访问数据库.我用的c3p0的一个操作数据库的utils是我自己在我看完学习视频之后做的,我做的utils和视频中做的不同的是:视频中做的utils是注册驱动.设置ComboPooledDataSource和获得connection分开,我做的是一个getConnection方法一步到位.平常使用数据库频率不高也就没发现什么问题,直到现在东窗事发...... 昨天出现了错误Too many c

java.sql.SQLException: Connections could not be acquired from the underlying database!

警告: [email protected]72 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30).java.sql.SQLException: Connectio