xtu 1467 黑子的展览柜

 

黑子的展览柜#

题目描述:#

总所周知,黑子是个热爱篮球的人。黑子小的时候喜欢打小篮球练习,长大以后就选择了大一点的标准大小的篮球。

黑子对这些陪他从小到大的篮球有特殊情感。为此,黑子决定在自己的养鸡场中建起一座展览柜台来将这些篮球摆成一排来纪念。

但黑子有个特殊的要求,他希望当他从第一个篮球开始往右数时,小篮球的个数总是不超过大篮球的个数,黑子认为这样摆放的球才有美感。

现在,黑子希望知道有多少种具有美感的排列方案。可是,黑子拥有的篮球实在太多了,于是黑子把这个难题交给了你。你需要写出一个程序来计算结果。

输入描述#

第一行输入一个整数 T,T≤20,表示测试数据的数量

紧接着 T 行,每行一个整数 n,n≤20。表示大篮球的个数和小篮球的个数都是 n。

输出描述#

输出 T 个整数,表示每个测试数据的合法的排列方案。

输入样例:#

1
5

输出样例:#

42
Source Code

Problem: 1467		User: 202205567311
Memory: 1136K		Time: 0MS
Language: G++		Result: Accepted
Source Code

#include<stdio.h>
#include<string.h>
long long  lanqiu[25][25];//X xiao Y da
int main() {
    int k, n, i, j;
    scanf("%d", &k);
    while (k--) {
        memset(lanqiu, 0, sizeof lanqiu);
        scanf("%d", &n);
//lanqiu[0][1]=1;
        for ( i = 1; i <= n; i++) {
            lanqiu[i][0] = 1;
        }
//        for ( i = 1; i <= n; i++) {
//            printf("%d",    lanqiu[i][0]);
//        }
        for ( i = 1; i <= n; i++) {
            for ( j = 1; j < i; j++) {
                lanqiu[i][j] = lanqiu[i][j - 1] + lanqiu[i - 1][j];
            }
                lanqiu[i][i] = lanqiu[i][i-1];            
        }

        printf("%I64d\n",lanqiu[n][n]);
//        for ( i = 0; i <= 20; i++) {
//            for ( j = 0; j <= 20; j++) {
//                printf("%d ", lanqiu[i][j]);
//            }
//            printf("\n");
//        }
    }
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值