当前位置: 代码迷 >> 综合 >> 又一道竞赛题
  详细解决方案

又一道竞赛题

热度:60   发布时间:2024-01-22 02:34:04.0
二主楼建成了,可以自习的教室也多了,所以,往常从不自习的Rock也开始上自习了。二主楼虽然很大而且座位众多,但找到满意座位也确实能算一门学问……
  由于Rock找座不是很有经验,而且他还有一些特殊的要求,所以Rock请你来帮他选择座位。
  
  Rock 对于座位的要求有:
  1. 旁边有另一个空座位,可以是左边,也可以是右边(放书包用的...);
  2. 为了环境相对稳定,满足要求1的同时,Rock的座位必须是离两边过道最远的;
  3. 在教室的最后一排 (-__-!)。

  为了使问题更加明确,我们做以下假定:

  1. 只考虑教室最后一排中间部分的座位,两边就是过道;
  2. 每个座位都有一个编号,若有N(1<=N<=50)个座位,则座位编号从左到右依次为 0,1,2,…,N-1,
  3. 输入数据使用一个长度等于座位数的字符串 Seat 表示,字符串中的每一个字符对应一个座位的状态,其中的E(大写字母)表示座位没人,P(大写字母)表示座位已经有人了。

  例如:Seat="EPEPEEE" 表示以下的情况:

Empty People Empty People Empty Empty Empty
0 1 2 3 4 5 6

  现在需要你来找出满足Rock要求的座位的编号。


  输入 (请使用标准输入输出,而不要读写文件)
 

  输入数据的第一行是一个数字N,(1<=N<=50),表示该教室最后一排有N个座位。
  第二行是一个字符串,表示字符串seat。

 

  输出 (请使用标准输入输出,而不要读写文件)
 

  输出只有一行,即为你所找到的座位的编号。
  如果有多个符合条件的座位,则仅输出其中编号最小的那个;
  如果不存在这样的座位,输出-1。

 

 
样例输入1 样例输出1
7
EPEPEEE
4

样例输入2 样例输出2
6
PEPPEP
-1

 

 

  相关解决方案