我想当一个好老师,所以我决定记住所有学生的名字。可是不久以后我就放弃了,因为学生太多了,根本记不住。但是我不能让我的学生发现这一点,否则会很没面子。所以每次要叫学生的名字时,我会引用离他最近的,我认得的学生。比如有10个学生:

A ? ? D ? ? ? H ? ?

想叫每个学生时,具体的叫法是:

位置

叫法

1

A

2

right of A (A右边的同学)

3

left of D (D左边的同学)

4

D

5

right of D (D右边的同学)

6

middle of D and H (D和H正中间的同学)

7

left of H (H左边的同学)

8

H

9

right of H (H右边的同学)

10

right of right of H (H右边的右边的同学)

Input

输入只有一组数据。第一行是学生数n(1<=n<=100)。第二行是每个学生的名字,按照从左到右的顺序给出,以空格分隔。每个名字要么是不超过3个英文字母,要么是问号。至少有一个学生的名字不是问号。下一行是询问的个数q(1<=q<=100)。每组数据包含一个整数p(1<=p<=n),即要叫的学生所在的位置(左数第一个是位置1)。

Output

对于每个询问,输出叫法。注意"middle of X and Y"只有当被叫者有两个最近的已知学生X和Y,并且X在Y的左边。

Sample Input

10
A ? ? D ? ? ? H ? ?
4
3
8
6
10

Sample Output

left of D
H
middle of D and H
right of right of H



做这道题时一定要看清题目,每个名字要么是不超过3个英文字母,要么是问号。所以开数组时要开一个二维数组,当遇到?
号时,数组形式应该是a[i][0],还有就是名字的左边和右边应如何处理。当我们要查询的名字是A????H这样的形式,查询
中间的?,这样我们就要用到for循环。


#include<iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char a[105][4];int main()
{int n,t,x,l,r;scanf("%d",&n);for( int i=1;i<=n;i++)scanf("%s",a[i]);scanf("%d",&t);while(t--){scanf("%d",&x);l=r=x;if(a[x][0]!='?')printf("%s\n",a[x]);else{while(1){if(l-1>0)l=l-1;if(r+1<=n)r=r+1;if(a[l][0]!='?' && a[r][0]!='?'){printf("middle of %s and %s\n",a[l],a[r]);break;}if(a[l][0]=='?' && a[r][0]!='?'){for( int i=1;i<=r-x;i++)printf("left of ");printf("%s\n",a[r]);break;}if(a[l][0]!='?' && a[r][0]=='?'){for(int i=1;i<=x-l;i++)printf("right of ");printf("%s\n",a[l]);break;}}}}return 0;
}

























G - 好老师 CSU - 1334相关推荐

  1. zcmu---1667好老师

    G - 好老师 我想当一个好老师,所以我决定记住所有学生的名字.可是不久以后我就放弃了,因为学生太多了,根本记不住.但是我不能让我的学生发现这一点,否则会很没面子.所以每次要叫学生的名字时,我会引用离 ...

  2. 深度模拟java动态代理实现机制系类之三

    这里的内容就比较复杂了,要实现的是对任意的接口,对任意指定的方法,以及对任意指定的代理类型进行代理,就更真实的模拟出java虚拟机的动态代理机制 罗列一下这里涉及的类.接口之间的关系,方便大家学习. ...

  3. matlab三点确定抛物线,[转]matlab编写的进退法,黄金分割法,抛物线法(二次插值法),wolfe不精确一维搜索...

    这是我最优化方法课程的编程作业,贴来和大家分享,后续会继续发来一些最优化的程序.. 以下程序由matlab编写 程序简介 jintuifa.m 进退法,用于确定下单峰区间.根据最优化方法(天津大学出版 ...

  4. linaro gcc 交叉编译链编译

    linaro gcc 交叉编译链编译全解析 在此编译的是4.8.3版本的gcc,依赖2.18的glibc,2.24的binutils 参考http://blog.chinaunix.net/uid-2 ...

  5. 小学生识字现状调查问卷

    小学生识字现状调查问卷  本次问卷调查是为了更好掌握同学们的识字情况,有利于课题研究工作的顺利开展,请各位家长根据孩子的实际情况如实作答,仔细阅读每一道题.  孩子的年龄:         1.您的孩 ...

  6. matlab用进退法写程序,matlab编写的进退法,黄金分割法,抛物线法(二次插值法),wolfe不精确一维搜索...

    这是我最优化方法课程的编程作业,贴来和大家分享,后续会继续发来一些最优化的程序.. 以下程序由matlab编写 程序简介 jintuifa.m 进退法,用于确定下单峰区间.根据最优化方法(天津大学出版 ...

  7. 深度学习网络大杀器之Dropout(II)——将丢弃学习视为集成学习之我见

    原帖:阿里云云栖社区: https://yq.aliyun.com/articles/110002 关于dropout的分析,可以见博主的另外一篇文章: <深度学习网络大杀器之Dropout-- ...

  8. Aggregation Model : Blending , Bagging , Boosting

    ⑴Motivation of Aggregation 比如现在有一支股票,你不知道是跌还是涨.你有T个friends,每一个friend对应的建议分别是g1,g2,g3...gn,那么你应该怎么选择建 ...

  9. 文件上传之伪Ajax方式上传

    From: <由 Windows Internet Explorer 8 保存> Subject: =?gb2312?B?zsS8/snPtKvWrs6xQWpheLe9yr3Jz7SrI ...

最新文章

  1. transformer预测过程_2019最新进展 | Transformer在深度推荐系统中的应用
  2. 使用idea2.5建立maven项目
  3. PHP中is_numeric函数十六进制绕过0day
  4. api权限管理系统与前后端分离实践
  5. android点击事件禁用,android-禁用所有视图的触摸事件
  6. unc0ver 发布新版本支持 iOS 13.3 越狱
  7. Farseer.Net ORM开源框架 V0.x 教程目录
  8. windows下flv视频网站进度条随意拖放[转]
  9. Python~win32com~Excel
  10. 服务器采购框架合同协议书范本,手写一个满足WSGI协议的Server
  11. 路由器刷机后无线模块丢失-竞斗云2.0刷机
  12. pjlib深入剖析和使用详解
  13. 1.docker学习
  14. 构建之法第四章学习心得
  15. 超快的前端引擎——artTemplate-3.0
  16. Taro小程序分享功能
  17. 算法的陷阱:超级平台、算法垄断与场景欺骗
  18. 0xC0000005: 读取位置 0x00000000 时发生访问冲突
  19. 【web框架】【zheng学习笔记(二)】【外网正式环境下部署(CentOS7.4)】
  20. robots协议文件的几种写法及示例

热门文章

  1. 安装haroopad
  2. linux权限0777代表的含义
  3. BUUCTF:萌萌哒的八戒
  4. ThinkPad E430c 2G内存升级为4G【本机硬件信息备份+拆机图】
  5. x201换风扇_「x201拆机」联想 Thinkpad x201i怎么拆机清理风扇灰尘? - seo实验室
  6. android 微信播放语音文件,如何将微信语音导出为MP3音频文件-Android平台
  7. 编程挑战赛第六期我带我的小侄子来了【赛题解析】
  8. 【021】ColorHexa –关于色彩的百科全书
  9. 解决Antimalware Service Executable CPU,内存占用高的问题
  10. python的数字运算_Python基础语法——数字运算