博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
B - Game of Connections
阅读量:6573 次
发布时间:2019-06-24

本文共 1930 字,大约阅读时间需要 6 分钟。

1、满足F(n)=f(0)*f(n-1)+f(1)*f(n-2).....f(n-1)*f(0)的都是卡特兰数,另外一种表示是h(n)=c(2n,n)-c(2n,n+1)(n=0,1,2,...);这个公式还可以更简单得化为h(n)=C(2n,n)/(n+1);其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796。

卡特兰数种经典题目:1、N个人有五元钱,N个人有十元钱,要买门票(五元每张)现在售票员没有零钱,有多少种买票的方法可以让售票员能不面临尴尬;

2、有n个数按1、2、3......n的顺序入栈,有多少种不同的出栈的方法;

3、n边形加把两点连接之后构成三角形,直线不能相交,有多少种加边的的方法;

卡特兰数的递推公式为:h(n)=h(n-1)*(4*n-2)/(n+1);

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?  

InputEach 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.

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

23-1

Sample Output

25 源代码:#include 
#include"cstring" using namespace std; const int maxn=300; int main() {
    int N;     while(cin>>N)        {   if(N==-1)break;            int a[maxn][maxn],temp=0,len=1,sum1=0;            memset(a,0,sizeof(a));        a[0][0]=a[1][0]=1;         for(int i=2;i<=N;i++)         { int sum=0;           for(int j=0;j
=0;k--)         {
            m=sum1+a[i][k];             a[i][k]=m/(i+1);             sum1=(m%(i+1))*10;         }         for(int j=len-1;;j--)             if(a[i][j]==0)len--;         else break;         }         //for(;;j--)            // if(a[N][j])break;         for(int i=len-1;i>=0;i--)             cout<

转载于:https://www.cnblogs.com/qiaoqiaoa/p/7222447.html

你可能感兴趣的文章
Linux的inode的理解
查看>>
PowerPoint 2010新功能应用
查看>>
毛发及眼球的渲染技术
查看>>
Liferay Portlet 结构分解
查看>>
oracle仅部分记录建立索引的方法
查看>>
使用SQL语句获得服务器名称和IP 地址
查看>>
使用bcp进行大数据量导出导入
查看>>
netapp学习(三)---assign unowned disk
查看>>
Oracle表自增
查看>>
Exchange Server 2007邮箱服务器失败规划和恢复
查看>>
UWA周年庆,福利分发,免费赠送专业版性能报告!
查看>>
无连续重复的随机算法
查看>>
活动目录拓展详解
查看>>
分别求出数组的行和列的和
查看>>
如何使VNC和Linux tty7 显示同步效果
查看>>
Qt学习之路(60): 创建shared library
查看>>
Linux系统优化
查看>>
md5加密与解密
查看>>
nginx日志问题解决方法记录
查看>>
性能测试与故障诊断
查看>>