问题 4560 --图书馆难题

4560: 图书馆难题

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

题目描述

BNEUP的图书馆有很多藏书,大家可以将书借出,看完后去还书台归还。但是由于学校学生太多,所以管理成了个大问题,请你写个程序来帮助图书馆。 在图书馆的管理系统中,一共有3种命令,借书、还书、查询。
  • 借书,以+开头,后面紧跟着学生的学号,表示该学生从图书馆借了若干本书,注意学生可以多次借书。
  • 还书,以-开头,后面紧跟着学生的学号,注意,每次还书,学生都会将之前所借的所有书籍归还。如果之前没有借书,则什么都不做。
  • 查询,以?开头,后面紧跟着学生的学号,询问当前该生有无从图书馆借书未还,有则输出yes,无则输出no。 当学期结束后,请按字典序输出所有未还书同学的学号。

输入

系统中的命令,每条命令占一行。最多有100000条命令。每条命令由+/-/?与学号组成,中间没有空格。学号不超过12位,并保证合法。 最后一行为end,表示学期结束。

输出

对每次查询都输出结果,yes或者no,每条占一行。最后学期结束后,输出所有未还书同学的学号,每个学号占一行。

样例输入

+110203
-102030
+110203
?110203
-110203
+200
+011111
?110203
end

样例输出

yes
no
011111
200

提示

注意时间

来源

 

[提交][状态]