[土狗之路]coursera C语言进阶练习题 排队游戏
来源:互联网 发布:蓝月传奇翅膀数据 编辑:程序博客网 时间:2024/04/20 12:43
直接上题:
编程题#3:排队游戏
来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
注意: 总时间限制: 1000ms 内存限制: 65536kB
描述
在幼儿园中,老师安排小朋友做一个排队的游戏。首先老师精心的把数目相同的小男孩和小女孩编排在一个队列中,每个小孩按其在队列中的位置发给一个编号(编 号从0开始)。然后老师告诉小朋友们,站在前边的小男孩可以和他后边相邻的小女孩手拉手离开队列,剩余的小朋友重新站拢,再按前后相邻的小男孩小女孩手拉 手离开队列游戏,如此往复。由于教师精心的安排,恰好可以保证每两个小朋友都能手拉手离开队列,并且最后离开的两个小朋友是编号最小的和最大的两个小朋 友。(注:只有小男孩在前,小女孩在后,且他们两之间没有其他的小朋友,他们才能手拉手离开队列)。请根据老师的排队,按小女孩编号从小到大的顺序,给出 所有手拉手离开队列的小男孩和小女孩的编号对。
输入
用一个字符串代表小朋友队列。字符串中只会出现两个字符(样例输入里用的是 括号但实际数据则不一定),分别代表小男孩和小女孩,首先出现的字符代表小男孩,另一个字符代表小女孩。小孩总数不超过100
输出
按小女孩编号顺序,顺序输出手拉手离开队列的小男孩和小女孩的编号对,每行一对编号,编号之间用一个空格分隔。
样例输入
((()(())())(()))
样例输出
2 35 64 78 91 1012 1311 140 15
#include<iostream>using namespace std;char children[101];int boy = 0;//记录男生的数目int couple = 0;//记录狗男女的数目char m, f;//男,女int date() {//函数名叫yue pao 。。。for (int i = 0; i < 2 * boy; i++) {bool stay = true;if (children[i] == m) {for (int j = i + 1; j < 2 * boy; j++) {if (children[j] == m)break;//不考虑男同问题,所以这里break,先让后面的继续if (children[j] == f) {children[i] = ' ';children[j] = ' ';cout << i <<' '<< j << endl;couple++;stay = false;//约到了,就不用在这浪费时间了,所以把位子清空,可以嘿嘿嘿去了。。。。break;}}}if (stay == false)break;//有人约到就跳出这层循环}if (couple != boy)//因为只考虑异性恋,所以如果情侣数目跟男生数目不相等,就证明还有男的是单身狗,所以继续递归date();return 0;}int main(){cin.getline(children, 101);m = children[0];//根据题意,无论第一个人长什么样,我们都把他当男的看for (int i = 0; i < 100; i++) {if (children[i] != m) {f = children[i];//不考虑有第三种性别的存在,所以长得跟男的不一样的,一律视为女的break;}}for (int i = 0; i < 100; i++) {if (children[i] == m)boy++;//数数有多少个男生}date();return 0;}
0 0
- [土狗之路]coursera C语言进阶练习题 排队游戏
- [土狗之路]coursera C语言进阶习题 文字排版
- [土狗之路]coursera C语言进阶 习题 分配病房
- [土狗之路]coursera C语言进阶 习题 寻找山顶
- [土狗之路]coursera上C语言进阶第二周作业
- [土狗之路]coursera上C语言进阶习题 括号匹配
- [土狗之路]coursera C语言进阶习题 计算矩阵边缘元素之和
- [土狗之路]coursera C语言进阶习题 二维数组右上左下遍历
- [土狗之路]coursera C语言进阶 习题 配对碱基链
- [土狗之路]coursera C语言进阶 习题 含k个3的数
- [土狗之路]coursera C语言进阶 习题 字符串中次数第2多的字母
- [土狗之路]coursera C语言进阶 习题 运算符判定
- [土狗之路]coursera C语言进阶 习题 寻找平面上的极大点
- [土狗之路]coursera上C语言基础第七周作业
- [土狗之路]coursera C语言基础12周(期末考试)作业
- [coursera c程序进阶]第三周_排队游戏
- 递归 排队游戏 (Coursera 程序设计与算法 专项课程2 C程序设计进阶 李戈;OpenJudge)
- [土狗之路]coursera 上面C++第8周作业
- hdu1325 Is It A Tree?(有向图并查集)
- linux命令学习之(sed)
- enter键搜索
- C语言求斐波拉切数列第n项
- Maven学习 (三) 使用m2eclipse创建web项目
- [土狗之路]coursera C语言进阶练习题 排队游戏
- OpenCV Bug集合
- 用VC6.0编写Word插件(Office2K、XP、2003)(转)
- Spring-定时任务之Quartz
- splay算法
- Solr搭建真实项目
- 10 ARC
- java 单链表实现队列
- 4.1mysql日志系统--课程笔记