问题描述:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?

思路:可以用递归来解决。假设已按高矮顺序编号从0到11,即0号最矮、11号最高,(i, j)表示某个人在队列中的位置。对于0号只能排在(0, 0),1号可以排在两个位置(0, 1)和(1, 0)。2号可以排的位置取决于1号的位置,如果1号排在(0, 1),那么2号可以排在两个位置(0, 0)和(1, 0)。如果1号排在(1, 0),那么2号只能排在(0, 1)。

观察一下,可以得出一下规律:对于i号,如果第一排与第二排的人数一样,那么他只能排在第一排;如果第一排的人数大于第二排,那么他可以排在第一排或者第二排。递归终止的条件是第一排或第二排排满了。

参考代码:

static int totalNum = 0;

//函数功能 : 排队问题

//函数参数 : firstFree为第1排第1个空余位置

// secondFree为第2排第1个空余位置

// num为排队人数

//返回值 : 无

void InLineProblem(int firstFree, int secondFree, int num)

{

if(firstFree == num/2 || secondFree == num/2) //其中一排无剩余位置

{

totalNum++;

return;

}

if(firstFree == secondFree) //第1排人数与第2排人数一样

{

InLineProblem(firstFree + 1, secondFree, num); //只能排在第1排

}

else

{

InLineProblem(firstFree + 1, secondFree, num); //排在第1排

InLineProblem(firstFree, secondFree + 1, num); //排在第2排

}

}

调用方式如下:

int main()

{

InLineProblem(0, 0, 12);

cout<

return 0;

}

排队问题解题思路_解题笔记(26)——排队问题相关推荐

  1. 排队问题解题思路_教育随笔|数学之排队问题

    小学一年级上册的教材中就已经涉及到"两人之间有几人"的问题,但是对于低年级的学生而言,只学习了20以内的数及其加减法,如何让小学生能更好的理解和掌握这一问题,老师光靠一张嘴和一支粉 ...

  2. 排队问题解题思路_高考文科数学是最“拉分”的!6种题型分析与10大解题方法...

    我回来啦~~好多天没更了. 最近私信挺多的,很多人跟我说学习毫无章法,总是高投入低产出,大量的时间.精力投入,成绩却不见起色.包括当年我自己上高中的时候,也是这样. 问题其实就是上课听懂了.但是一做题 ...

  3. 排队问题解题思路_青岛版二年级数学下册8.2除加除减解决问题微课视频辅导+练习...

    (视频最大化,横屏观看,视觉效果更佳哦!) 课后作业 先 思 考 再 看 答 案 1.34-15÷3=29(元) 答:一件上衣比一双袜子贵29元. 2.48÷6+48=56(只) 答:小香的奶奶一共养 ...

  4. python四位玫瑰数的解题思路_入门python知识点总结以及15道题的解题思路分析

    知识点总结python 1.序列app 操做符ide x in s 若是x是列表s的元素,返回True,不然False s + t 链接两个序列s和t s*n或者n*s 将序列s复制n次 s[i] 返 ...

  5. python解题思路_黄哥Python: 一道水题“最大唯一数” 解题思路

    有人在**论坛上提问,求解一个数组中最大唯一数. 1.读题,数组中全部是整数,有的数字有重复的,求出不重复的最大整数. 2.解题思路,利用Python 字典去统计每一个整数出现的次数,整数为key,出 ...

  6. java亲密数的解题思路,算法解题思路总结 - jjhgx的个人空间 - OSCHINA - 中文开源技术交流社区...

    算法解题思路: 细读算法要求 找到极限情况 找到临界情况,结果依赖 找到最终的结束求解点 编程实现:考虑算法的空间复杂度和时间复杂度 案例说明: 假设: 输入字符串为:s, 长度为:slen, s的第 ...

  7. 排队问题解题思路_三大策略、5个技巧,完美解决超市收银排队难题

    在超市购物时,经常看到许多顾客从货架上将称心的商品往购物车里放,可一看到收银台前等待交款的顾客长龙,就将购物车放一边,空手走出卖场.在当今节奏越来越快的社会里,大多数顾客是无法忍受漫长等待的. 虽然顾 ...

  8. 排队问题解题思路_双点医院解决全科排队方法 双点医院怎么解决排队问题

    双点医院解决全科排队方法 双点医院怎么解决排队问题 2018-09-07 14:44:29来源:游戏下载编辑:野狐禅评论(0) <双点医院>怎么解决全科排队呢?不少玩家都想知道,下面就为大 ...

  9. java兰顿蚂蚁解题思路_程序员面试金典 - 面试题 16.22. 兰顿蚂蚁(deque模拟)

    1. 题目 一只蚂蚁坐在由白色和黑色方格构成的无限网格上. 开始时,网格全白,蚂蚁面向右侧. 每行走一步,蚂蚁执行以下操作. (1) 如果在白色方格上,则翻转方格的颜色,向右(顺时针)转 90 度,并 ...

最新文章

  1. m_Orchestrate learning system---七、如何快速学好前端
  2. Java学习_day005:循环结构
  3. 设计模式C++实现——组合模式
  4. MyEclipse下Struts2配置使用和Ajax、JSON的配合
  5. 开发 自我介绍_对于开发者来说,自我是敌人
  6. day33 java的多线程(5)
  7. C#人脸识别入门篇--提取人脸特征值及人脸识别
  8. 关于CSS HACK
  9. ansible-playbook之循环(Loops)
  10. 虚拟机自省XenAccess和vmitools
  11. 【入门】萌新IP入门常识(一):什么是IP地址和代理IP
  12. Windows 驱动开发 新手入门(一)
  13. 交互式机器学习/ 强化学习在图像领域中的应用
  14. Windows无法安装到GPT格式磁盘的根本解决办法 - 初学者系列 - 学习者系列文章...
  15. 攻防演练第四年的一些碎碎念
  16. 云小课|使用SQL加密函数实现数据列的加解密
  17. c语言对孩子的作用,爸爸用C语言给孩子早教,孩子逐渐崩溃,网友:你别害孩子秃顶...
  18. aiem模型matlab,基于MIMICS模型的麦田地表土壤含水量反演研究
  19. 这所C9高校,再添中科院院士!
  20. 用百度地图实现添加电子围栏并判断是否在范围内

热门文章

  1. 2022电工(初级)考试题库及在线模拟考试
  2. css3新增属性总结-01
  3. 渐变纹理 和 遮罩纹理
  4. windows下VMware安装CentOS7
  5. GIS应用技巧之矢量数据空间范围处理
  6. tiptop 编译运行_TIPTOP系统管理操作手册.pdf
  7. 考会计中级职称能用计算机,2019中级会计职称考试计算器不能带入考场了 系统计算器怎么用?...
  8. 快速测温医疗级电子体温计方案开发
  9. 【方案开发】智能电子血压计方案开发设计组成解析
  10. Avery Dennison推新款RFID嵌体,适用于牛仔服饰