#970. 图书馆管理
图书馆管理
No submission language available for this problem.
题目背景
这是最好的时代,这是最糟的时代。终于,你在图书馆得到了一份管理员的工作。这份工作的内容主要是
- 整理书架
- 为借书者拿书
- 整理借书者所还的书
- 定期将所还的书放回书架上
书籍不能乱摆放,得整理,按照作者的名字字典升序,书名的字典升序进行摆放。
题目描述
幸运的是,你学过编程,打算设计一个程序来辅助自己做这种重复性比较多的工作。程序将会直接告诉你,每一本书将会还到哪本书籍的后面。你可以认为书名是不会重复的。
输入格式
一开始,书架上会把书籍放上去,当然这时候它们摆放的位置是乱的。每一行的输入格式为:
"title" by author
直到输入:
END
所有的书籍输入结束。
接下来,每行将会有一个借书,还书以及重新放回书架的行为。每个行为输入将会占一行,它们的格式分别为
BORROW title
RETURN title
SHELVE
同样,当输入为 END 时,行为结束。
输出格式
每一次出现 SHELVE 时,你得将已还回的书还到书架,程序要输出每一本书得放回到当前书架上的哪一本书的后面,输出格式为:
Put title1 after title2
若这本书得放到头上位置,则输出格式为:
Put title first
针对每次 SHELVE 行为后,得再输出一个 END 表示该行为(放回书架的行为结束)
"The Canterbury Tales" by Chaucer, G.
"Algorithms" by Sedgewick, R.
"The C Programming Language" by Kernighan, B. and Ritchie, D.
END
BORROW "Algorithms"
BORROW "The C Programming Language"
RETURN "Algorithms"
RETURN "The C Programming Language"
SHELVE
END
Put "The C Programming Language" after "The Canterbury Tales"
Put "Algorithms" after "The C Programming Language"
END
提示
1, title 最多 80 个字符组成;
2, author 最多 80 个字符组成;
3, 书名 title 不会包含双引号;
4, 部分测试点将考虑代码的健壮性;
50 分是正常的,先做出 50 分(2 AC,2 TEL),再考虑可能的因素。
TIP: Windows 文本的实际换行与 Unix 文本实际换行的差别。