排队游戏

总时间限制: 1000ms  内存限制: 65536kB
描述

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

输入
用一个字符串代表小朋友队列。字符串中只会出现两个字符,分别代表小男孩和小女孩,首先出现的字符代表小男孩,另一个字符代表小女孩。小孩总数不超过100
输出
按小女孩编号顺序,顺序输出手拉手离开队列的小男孩和小女孩的编号对,每行一对编号,编号之间用一个空格分隔。
样例输入
((()(())())(()))
样例输出
2 3
5 6
4 7
8 9
1 10
12 13
11 14
0 15

解析:这个题要用到栈的思想。但注意,女生和男生在队列里出现的顺序不合适则可能会使得 部分女生没法往前找到 对应的男生离开队列。
比如输入:aaabbbbbbbaaaa,前三个男生跟他们后面的三个女生离开,这样一来 ,后面的四个女生没法往前面找到对应的男生一起离开。 因为还有四个男生在后面还没进栈。
我下面的代码对此的处理就是直接return 结束程序了。这样处理不是很好,但这个情况在题目里面 没说怎么处理,而且题目本意没有这样的输入的。这个处理方法AC了。

 1 #include<stdio.h>
 2 struct stu
 3 {
 4     int number;
 5     char xingBie;
 6 };
 7 int main()
 8 {
 9     char boy,ch;
10     int end=0,num=0;
11     struct stu a[55];
12     scanf("%c",&boy);
13     a[0].xingBie=boy;
14     a[0].number=num;
15     while(scanf("%c",&ch)!=EOF)
16     {
17         if(ch==boy)
18         {
19             end++;
20             num++;
21             a[end].xingBie=ch;
22             a[end].number=num;
23
24         }
25         else
26         {
27             num++;
28             printf("%d %d\n",a[end].number,num);
29             end--;
30             if(end<0)
31                 return 0;
32         }
33     }
34     return 0;
35 }
时间: 2024-10-06 01:19:22

排队游戏的相关文章

POJ C程序设计进阶 编程题#3 : 排队游戏

编程题#3:排队游戏 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 在幼儿园中,老师安排小朋友做一个排队的游戏.首先老师精心的把数目相同的小男孩和小女孩编排在一个队列中,每个小孩按其在队列中的位置发给一个编号(编 号从0开始).然后老师告诉小朋友们,站在前边的小男孩可以和他后边相邻的小女孩手拉手离开队列,剩余的小朋友重新站拢,再按前后相邻的小男孩小女孩手拉 手离开队列游戏

Week3 #3 排队游戏

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

【北大先修课】计算概论(A)题库全代码

题目很水就是全都是坑真是丧心病狂啊 把代码留下造福后来人QωQ 结构体与链表练习 生日相同2.0 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define MAXN 200 using namespace std; struct st { int m,d; string name; bool operator&

聪明人的游戏,初中版 之目录

第一章算法概述    第1课 算法的概念    第2课 结构化程序设计思想    第3课 算法的时空复杂度 第二章字符串处理与进制转换    第1课 贝贝的交通指挥系统    第2课 贝贝的图形    第3课 贝贝的加密工作    第4课 贝贝的保险库密码    第5课 贝贝的数学课    第6课 贝贝与外星人    本章知识归纳    本章综合练习 第三章枚举算法    第1课 桐桐的计算    第2课 桐桐的数学难题    第3课 素数的秘密    第4课 桐桐的思考    第5课 桐桐的研

网红餐饮品牌雇人排队造假:地推效果影响网络传播

以喜茶.一点点.鲍师傅等为代表的餐饮品牌,正在以风卷残云之势攻城拔寨.而让人惊奇的是,这些餐饮品牌通过线下疯狂排队的热点现象,迅速成为"网红".但就在近日,诸多网红奶茶.糕点品牌被曝光排队并不是因为饮品有多好喝,糕点有多好吃,只是花钱雇人排队聚拢人气,是一种造假行为. 但不管怎么说,这些餐饮品牌一跃成为网红却是不争的事实.与某些互联网借贷.游戏企业类似,网红餐饮品牌也是借助强势的地推深度影响其在互联网上的人气.口碑传播.或许,线下与线上营销的互动及相互补充,今后将以更多的形式展露出来.

格斗游戏为什么会没落 ?

77 个回答 Thinkraft,Obsessive-Compulsive-Personality-Disorde 气态粥.BigPa.八人剧场 等人赞同 谢 @GOUKI 邀.其实@孟德尔说得已经很好了,我未必能贡献太多.打了不少字,觉得废话太多又删了一些,总之凑合看吧~ 大家都在说门槛的问题,我补充一些上下文吧.要看格斗游戏为何没落,得先从其兴盛说起. 最早的街机电子游戏就是对战型的,一提名字大家都知道,PONG.对战游戏哪里好玩大家也知道,竞技嘛,可以和基友战.和路人战,赢了就爽.PONG

arpg网页游戏之地图(四)

这一节主要是针对上一节的补充,关于地图的优化策略上一节中已经涉及了一些,这一节具体说下. 地图块加载队列:就拿1280*800的屏幕分辨率来讲,大约需要加载的地图块为30~35块之间,如果这个时候一下子加载这么多地图块,占用的网络带宽会比较多,因为IE加载资源也是有限制的,如果多余限制就会加入排队机制.所以这个时候,就需要一个地图加载队列,来限制同时加载地图块的数量,比如可以同时加载两个,当两个当中哪个Loader加载完,此对象回收,然后重新下一个. 渲染策略优化,实际就是分帧运算的远离.即没帧

FPS游戏服务器设计的问题 【转】

一.追溯 去gameloft笔试,有一个题目是说: 叫你去设计一个FPS(第一人称射击游戏),你是要用TCP呢还是要用UDP,说明理由 . 二.学习 这是两篇网上找到的文章,写非常不错. 当时笔试的时候自己没想到这么全,但大概想法都是一致的,摘录下来再学习一下. 1.网络游戏程序员须知 UDP vs TCP 作者:[email protected] 首发链接:http://blog.csdn.net/rellikt/archive/2010/08/21/5829020.aspx 这篇教程让我们就

MMORPG大型游戏设计与开发(服务器 AI 概述)

游戏世界中我们拥有许多对象,常见的就是角色自身以及怪物和NPC,我们可以见到怪物和NPC拥有许多的行为,比如说怪物常常见到敌对的玩家就会攻击一样,又如一些NPC来游戏世界中走来走去,又有些怪物和NPC有的时候还会发出一些奇怪的谈论.我们都知道物体是死的,没有生命的,程序其实就是一种物体,它本身是不会进行任何的操作的,比如场景中的角色我们不操作则傻站着一样.但是NPC和怪物似乎有自己的判断力,谁该打谁不该打,还会排队行走,这些不是有生命的才能实现的吗?这就是AI,全称为Actificial Int