编程题#3:排队游戏

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

在幼儿园中,老师安排小朋友做一个排队的游戏。首先老师精心的把数目相同的小男孩和小女孩编排在一个队列中,每个小孩按其在队列中的位置发给一个编号(编 号从0开始)。然后老师告诉小朋友们,站在前边的小男孩可以和他后边相邻的小女孩手拉手离开队列,剩余的小朋友重新站拢,再按前后相邻的小男孩小女孩手拉 手离开队列游戏,如此往复。由于教师精心的安排,恰好可以保证每两个小朋友都能手拉手离开队列,并且最后离开的两个小朋友是编号最小的和最大的两个小朋 友。(注:只有小男孩在前,小女孩在后,且他们两之间没有其他的小朋友,他们才能手拉手离开队列)。请根据老师的排队,按小女孩编号从小到大的顺序,给出 所有手拉手离开队列的小男孩和小女孩的编号对。

输入

用一个字符串代表小朋友队列。字符串中只会出现两个字符(样例输入里用的是 括号但实际数据则不一定),分别代表小男孩和小女孩,首先出现的字符代表小男孩,另一个字符代表小女孩。小孩总数不超过100

输出

按小女孩编号顺序,顺序输出手拉手离开队列的小男孩和小女孩的编号对,每行一对编号,编号之间用一个空格分隔。

样例输入

1
((()(())())(()))

样例输出

1
2
3
4
5
6
7
8
2 3
5 6
4 7
8 9
1 10
12 13
11 14
0 15

代码:

这题需要回头看,参考代码:
//编程题#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周)相关推荐

  1. Tomorrow never knows? (C程序设计进阶 第2周)

    编程题#4:Tomorrow never knows? 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限 ...

  2. Tomorrow never knows?(C程序设计进阶第2周)

    问题描述 甲壳虫的<A day in the life>和<Tomorrow never knows>脍炙人口,如果告诉你a day in the life,真的会是tomor ...

  3. 流感传染(C程序设计进阶第2周)

    问题描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得 ...

  4. 文字排版(C程序设计进阶第5周)

    问题描述 给一段英文短文,单词之间以空格分隔(每个单词包括其前后紧邻的标点符号).请将短文重新排版,要求如下: 每行不超过80个字符:每个单词居于同一行上:在同一行的单词之间以一个空格分隔:行首和行尾 ...

  5. [土狗之路]coursera C语言进阶练习题 排队游戏

    直接上题: 编程题#3:排队游戏 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB ...

  6. 《C语言程序设计进阶教程》一导读

    前 言 为什么要写这本书 本文讲的是C语言程序设计进阶教程一导读,市面上有成百上千种关于编程的书籍,其中有很多都是关于C语言编程的,那么为什么我还要写这本书呢?为什么建议你花时间读它呢?这本书跟其他书 ...

  7. 《C#网络编程高级篇之网页游戏辅助程序设计(扫描版)》

    <C#网络编程高级篇之网页游戏辅助程序设计>通过编写C#网络编程语言中具有代表性的实例,向读者深入细致地讲解了如何利用C#语言进行网页游戏辅助程序设计.本书通过大量的代码引导读者一步步学习 ...

  8. 视频教程-C语言程序设计--进阶篇教学视频-C/C++

    C语言程序设计--进阶篇教学视频 烟台大学计算机学院教师,二十年余教师生涯,看出了在错综复杂的教育环境中,坚持教育教学的价值与前景.和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,让大一的孩子会编程, ...

  9. 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 用类制造对象. ...

最新文章

  1. PHP IPC函数介绍---共享内存
  2. Github上的资源清单
  3. 漫谈数据库索引 | 脚印 footprint(转载)
  4. OpenStack安装Neutron组件最后进行验证后发现Metadata agent ct节点不显示
  5. 探索Julia(part14)--学生得分描述性统计案例
  6. [其他] 10种技巧可提升Android应用运行效果
  7. SpringMVC国际化(i18n)(五)
  8. 【汉字识别】基于matlab SVM汉字识别【含Matlab源码 830期】
  9. iPhone不配Lightning to 3.5mm转换线:试试这几款蓝牙接收器
  10. 【C++】(八)函数
  11. 使用回溯算法解决排列组合问题
  12. 蓝桥杯(java)个人赛真题:书号验证
  13. 网络正常,浏览器显示代理服务器没有响应怎么办?
  14. 《App研发录》读书笔记
  15. 如何设置在电脑屏幕和显示器屏幕显示不同的画面窗口
  16. 478-82(56、128、718、129)
  17. EFS与NTFS联合应用解析
  18. 资料 | 20个必不可少的Python库
  19. 第 6 章. 分配图像资源并使用 WSI 构建 Swapchain
  20. w ndows7怎么一键恢复,windows7怎么一键还原?windows7恢复出厂设置教程

热门文章

  1. 记录宝塔面板后台提示“拒绝了我们的连接请求”
  2. 启动Jenkins时报错,localhost拒绝了我们的连接请求
  3. 洲际酒店集团加速布局粤港澳大湾区,与华侨城酒店集团达成合作
  4. Boost库编译指南
  5. 【宋红康 MySQL数据库 】【高级篇】【07】MySQL的存储引擎
  6. JAVA我的世界给op_我的世界手机版op指令大全 op指令怎么用
  7. 有关likely和unlikely
  8. 数据库(oracle)服务器的cpu大于80%
  9. Django-rest-framework简介
  10. 2.语法特性(组合数据类型)