#P1313. Booklet Printing
Booklet Printing
题目描述
在打印文档时,通常是先打印第一页,然后是第二页、第三页,依此类推,直到文档结束。然而,在制作对折式小册子时,打印顺序必须改变。一本对折式小册子每张纸有四页,正面两页,背面两页。当你按顺序将所有纸张叠放好,然后将小册子对折时,页面就会像普通书籍一样按正确的顺序排列。例如,一本页的小册子会打印在一张纸上:正面是第页和第页,背面是第页和第页。
正面 背面
------------- -------------
| | | | | |
| 4 | 1 | | 2 | 3 |
| | | | | |
------------- -------------
你的任务是编写一个程序,接受要打印的页数作为输入,然后生成打印顺序。
输入
输入包含一个或多个测试用例,最后有一行包含数字,表示文件结束。每个测试用例由单独一行上的一个正整数组成,其中是要打印的页数;不会超过。
输出
对于每个测试用例,输出一份报告,指明每张纸上应该打印哪些页面,格式完全如示例所示。如果所需的页数没有完全填满一张纸,那么就用“Blank”这个词来代替页码。如果一张纸的正面或背面全是空白,就不生成该面的输出内容。输出必须按纸张顺序升序排列,先输出正面,再输出背面。
输入示例
1
14
4
0
输出示例
Printing order for 1 pages:
Sheet 1, front: Blank, 1
Printing order for 14 pages:
Sheet 1, front: Blank, 1
Sheet 1, back : 2, Blank
Sheet 2, front: 14, 3
Sheet 2, back : 4, 13
Sheet 3, front: 12, 5
Sheet 3, back : 6, 11
Sheet 4, front: 10, 7
Sheet 4, back : 8, 9
Printing order for 4 pages:
Sheet 1, front: 4, 1
Sheet 1, back : 2, 3
来源
1998年美国中北部地区竞赛