问题 B: 排队2

问题 B: 排队2

时间限制: 1 Sec  内存限制: 256 MB
提交: 9  解决: 3
[提交][状态][讨论版][命题人:]

题目描述

老师(lisa) 带领学生们排队,首先老师站在队伍的最前面,然后学生们一个一个去排队。每个学生都有一个姓名,每个姓名各不相同。每个姓名都由小写字母组成,姓名最大长度为15。第一个学生,只能站在老师的后面。后面的学生,可以选择一个已经排好队的同学,站在该名同学的后面。等n名同学排好队后。此时,老师会有q次查询,每次查询都会说出一个同学的名字,查询该名同学的前面和后面的同学。如果是第一个同学,输出老师的名字和后面的同同学的名字,如果是最后一名同学,只输出前面同学的名字即可。

输入

第一行:两个个整数n,q,表示n名同学和q次查询(1<=n,q<=10^5)

接下来n行,每行两个字符串,用一个空格分隔。第一个字符串表示同学的姓名,第二个字符串表示要选择的同学的姓名。

接下来q行,每行一个字符串,表示要查询的同学的姓名,数据保证同学姓名真实存在。

输出

共q行

如果查询的是第一名同学 输出老师的名字,和 后面同学的名字

如果是最后一名同同学,只输出前面人的姓名

其它的输出前面和后面同学的名字,中间用空格分隔

样例输入

4 3
wang lisa
lim wang
sa wang
li sa
wang
lim
li

样例输出

lisa sa
li
sa lim

提示

如果用的是string 定义的字符串,输出字符串时用printf("%s\n",str.c_str()),否则会超时

[提交][状态]