题库首页 › 蓝桥杯大赛(C语言) › 题目 17665

红蓝扑克排列 题目描述: 魔术师大卫将 n 张红色扑克牌和 n 张蓝色扑克牌混合在一起并打乱洗牌后,整齐叠放在桌子上。 然后大卫请现场嘉宾从这叠牌最上面的扑克牌开始拿,连续拿取任意数量的牌组成一沓(至少拿1张,最多拿 2n 张)。 接下来是见证奇迹的时刻,无论嘉宾拿多少张扑克牌,所拿取的这沓牌中红色扑克牌的数量都不少于蓝色扑克牌的数量。 给定红色扑克牌和蓝色扑克牌的张数 n,请帮魔术师计算出能实现上述魔术效果的扑克牌从上到下的排列方式共有多少种。 例如:当n=3,有3张红色扑克牌和3张蓝色扑克牌;6张扑克牌从上往下排列,有以下5种排列可以实现魔术效果: 输入描述: 输入一个整数n(1≤n≤100)表示红色扑克牌和蓝色扑克牌各自的数量。 输出描述: 输出一个整数,表示满足题目要求的排列方式有多少种。 样例输入: 3 样例输出: 5

红蓝扑克排列 题目描述: 魔术师大卫将 n 张红色扑克牌和  题目配图

正确答案:卡特兰数:n红n蓝且任意前缀红>=蓝的排列数=Catalan(n)=C(2n,n)//(n+1),n=3->5。递推c[0]=1,c[n]=c[n-1]*(4n-2)//(n+1),输出c[n]。

答案解析

评分标准:

(1)能正确输出一组数据;(10分)

(2)能正确输出两组数据;(10分)

(3)能正确输出三组数据;(20分)

(4)能正确输出四组数据;(20分)

(5)能正确输出五组数据;(20分)

(6)能正确输出六组数据。(20分)

试卷来源:202508(第16届)蓝桥杯C++编程青少组(省赛_初/中级)真题

本卷相关题目

在线做题 同科目题库