递归习题—排队游戏(C程序设计进阶 第3周)
编程题#3:排队游戏
来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
注意: 总时间限制: 1000ms 内存限制: 65536kB
描述
在幼儿园中,老师安排小朋友做一个排队的游戏。首先老师精心的把数目相同的小男孩和小女孩编排在一个队列中,每个小孩按其在队列中的位置发给一个编号(编 号从0开始)。然后老师告诉小朋友们,站在前边的小男孩可以和他后边相邻的小女孩手拉手离开队列,剩余的小朋友重新站拢,再按前后相邻的小男孩小女孩手拉 手离开队列游戏,如此往复。由于教师精心的安排,恰好可以保证每两个小朋友都能手拉手离开队列,并且最后离开的两个小朋友是编号最小的和最大的两个小朋 友。(注:只有小男孩在前,小女孩在后,且他们两之间没有其他的小朋友,他们才能手拉手离开队列)。请根据老师的排队,按小女孩编号从小到大的顺序,给出 所有手拉手离开队列的小男孩和小女孩的编号对。
输入
用一个字符串代表小朋友队列。字符串中只会出现两个字符(样例输入里用的是 括号但实际数据则不一定),分别代表小男孩和小女孩,首先出现的字符代表小男孩,另一个字符代表小女孩。小孩总数不超过100
输出
按小女孩编号顺序,顺序输出手拉手离开队列的小男孩和小女孩的编号对,每行一对编号,编号之间用一个空格分隔。
样例输入
样例输出
代码:
//编程题#3:排队游戏
#include <iostream>
using namespace std;
char man;
//参数;char str[],字符串
//int s,开始位置
//返回值:返回本层的右括号位置
int founction(char str[], int s)
{int n;if (str[s] != man){return s;}else{n = founction(str, s + 1);cout << s << ' ' << n << endl;return founction(str, n + 1);}
}
int main()
{char str[101] = { 0 };cin >> str;man = str[0];int n = founction(str, 1);cout << "0 " << n << endl;return 0;
}
递归习题—排队游戏(C程序设计进阶 第3周)相关推荐
- Tomorrow never knows? (C程序设计进阶 第2周)
编程题#4:Tomorrow never knows? 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限 ...
- Tomorrow never knows?(C程序设计进阶第2周)
问题描述 甲壳虫的<A day in the life>和<Tomorrow never knows>脍炙人口,如果告诉你a day in the life,真的会是tomor ...
- 流感传染(C程序设计进阶第2周)
问题描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得 ...
- 文字排版(C程序设计进阶第5周)
问题描述 给一段英文短文,单词之间以空格分隔(每个单词包括其前后紧邻的标点符号).请将短文重新排版,要求如下: 每行不超过80个字符:每个单词居于同一行上:在同一行的单词之间以一个空格分隔:行首和行尾 ...
- [土狗之路]coursera C语言进阶练习题 排队游戏
直接上题: 编程题#3:排队游戏 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB ...
- 《C语言程序设计进阶教程》一导读
前 言 为什么要写这本书 本文讲的是C语言程序设计进阶教程一导读,市面上有成百上千种关于编程的书籍,其中有很多都是关于C语言编程的,那么为什么我还要写这本书呢?为什么建议你花时间读它呢?这本书跟其他书 ...
- 《C#网络编程高级篇之网页游戏辅助程序设计(扫描版)》
<C#网络编程高级篇之网页游戏辅助程序设计>通过编写C#网络编程语言中具有代表性的实例,向读者深入细致地讲解了如何利用C#语言进行网页游戏辅助程序设计.本书通过大量的代码引导读者一步步学习 ...
- 视频教程-C语言程序设计--进阶篇教学视频-C/C++
C语言程序设计--进阶篇教学视频 烟台大学计算机学院教师,二十年余教师生涯,看出了在错综复杂的教育环境中,坚持教育教学的价值与前景.和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,让大一的孩子会编程, ...
- java语言程序设计视频_[VIP视频]【A0152】Java语言程序设计进阶高级进阶视频教程 网易云课堂 百度网盘 云盘...
Java语言程序设计进阶-云课堂' S0 c5 z4 C* S: n: K/ D ├─第1周 类和对象 9 i5 N/ j$ I9 d9 z9 t# [# U: D│ 1.1 用类制造对象. ...
最新文章
- PHP IPC函数介绍---共享内存
- Github上的资源清单
- 漫谈数据库索引 | 脚印 footprint(转载)
- OpenStack安装Neutron组件最后进行验证后发现Metadata agent ct节点不显示
- 探索Julia(part14)--学生得分描述性统计案例
- [其他] 10种技巧可提升Android应用运行效果
- SpringMVC国际化(i18n)(五)
- 【汉字识别】基于matlab SVM汉字识别【含Matlab源码 830期】
- iPhone不配Lightning to 3.5mm转换线:试试这几款蓝牙接收器
- 【C++】(八)函数
- 使用回溯算法解决排列组合问题
- 蓝桥杯(java)个人赛真题:书号验证
- 网络正常,浏览器显示代理服务器没有响应怎么办?
- 《App研发录》读书笔记
- 如何设置在电脑屏幕和显示器屏幕显示不同的画面窗口
- 478-82(56、128、718、129)
- EFS与NTFS联合应用解析
- 资料 | 20个必不可少的Python库
- 第 6 章. 分配图像资源并使用 WSI 构建 Swapchain
- w ndows7怎么一键恢复,windows7怎么一键还原?windows7恢复出厂设置教程