Borrowers
Borrowers |
I mean your borrowers of books - those mutilators of collections, spoilers of the symmetry of shelves, and creators of odd volumes. - (Charles Lamb, Essays of Elia (1823) `The Two Races of Men')Mr. Lamb 是為圖書館館員, 館員們都會遭遇到借書的問題,人們不會將書放回原本該有的位置。取而代之的是,歸還的書將會先放置在服務台,等到館員有空時,館員將會把書放回書架上。放置到正確的位置相當耗時,你可以寫一個程式幫助他們。
當借書者歸還書時,電腦會記錄書目。隔一段時間後,館員會問你書該怎麼放到正確的位置上,在把書放回書架上前,他們會將書按照作者名稱排序再對書目的字典順序排序。你的程式將要按照書架上的順序輸出放置方式。
Input
首先,會告訴你圖書館有多少書,每一行有一本書。(不會按照字典順序給定)一開始所有書都在架上且排序好,不會有兩本書具有相同的名稱,給定的格式如下:
``title" by author
將會用一行結束清單,格式如下:
END
接下來會有訊息,描述哪些書被借出或者歸還,以及館員著手放回書架上的動作。
描述的格式如下:
BORROW ``title"
RETURN ``title"
SHELVE
最後終止於一行,格式如下:
END
Output
對於每一次 SHELVE 指令出現時,你將要輸出一系列的指令,告訴館員如何放書。格式如下:
Put `` " after `` "
如果是第一本會比較特別,輸出格式如下:
Put ``title" first
對於每組 SHELVE 後接一行
END
假設所有書目長度不超過 80 字元,所有作者名稱不超過 80 字元,且書目不會有 " 字元。
Sample Input
"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
Sample Output
Put "The C Programming Language" after "The Canterbury Tales" Put "Algorithms" after "The C Programming Language" END
沒有留言:
張貼留言