原题链接

题目大意:书本印刷都是用大开的纸张对折。比如一个册子一共4页,为了方便装订,外侧印刷1、4页,内侧印刷2、3页,这样对折之后就可以按照正常阅读习惯翻页了。此题目的就是给出书的总页数,要求计算每张纸正反面应该印刷什么内容。

解法:不难,但是略微繁琐。先计算需要的纸张数量,然后分别计算正反面的内容。如果书本页码很少,第一张和第二张纸比较特殊,需要单独列出来,其他内页按照公式推算。

参考代码:

#include<iostream>
using namespace std; int main(){
int n,i,j,k,sheet,r; while(cin>>n&&n!=0){
sheet=(n+3)/4;
r=n%4;
cout<<"Printing order for "<<n<<" pages:"<<endl;
i=1;
while(i<=sheet){
cout<<"Sheet "<<i<<", front: ";
if(i==1){
if(n==4)cout<<"4, 1"<<endl;
else if(r!=0)cout<<"Blank, 1"<<endl;
else cout<<n<<", 1"<<endl;
}
else{
if(n<4*(sheet-i)+6)
cout<<"Blank, "<<i*2-1<<endl;
else
cout<<sheet*4-i*2+2<<", "<<i*2-1<<endl;
} if(n==1);
else{
cout<<"Sheet "<<i<<", back : ";
if(i==1){
if(r==1||r==2)cout<<"2, Blank"<<endl;
else if(r==3)cout<<"2, "<<n<<endl;
else cout<<"2, "<<n-1<<endl;
}
else if(i*4-3>n)
cout<<i*2<<", Blank"<<endl;
else
cout<<i*2<<", "<<sheet*4+1-i*2<<endl;
}
i++;
}
} return 0;
}

ZOJ 1178 Booklet Printing的更多相关文章

  1. Booklet Printing[HDU1117]

    Booklet Printing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. UVa 637 - Booklet Printing

    题目:模拟输出n页书的装订打印状态. 分析:模拟.页数为(n+3)/ 4,仅仅有n不超过半篇时会输出半篇. 说明:好多曾经做过的题目(⊙_⊙). #include <cstdlib> #i ...

  3. POJ题目细究

    acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  102 ...

  4. 【转】POJ百道水题列表

    以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...

  5. 转载 ACM训练计划

    leetcode代码 利用堆栈:http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/http://oj.leetcode. ...

  6. ACM学习

    转:ACM大量习题题库   ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库.   US ...

  7. (转载)ACM训练计划,先过一遍基础再按此拼搏吧!!!!

    ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO ht ...

  8. 另一个ACM之路建议

    ACM联系建议 一位高手对我的建议: 一般要做到50行以内的程序不用调试.100行以内的二分钟内调试成功.acm主要是考算法的 ,主要时间是花在思考算法上,不是花在写程序与debug上. 下面给个计划 ...

  9. HDU——PKU题目分类

    HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...

随机推荐

  1. python操作二进制文件

    有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体. struct模块中最重 ...

  2. JSONObject与JSONArray的使用

    1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...

  3. superobject中 JavaToDelphiDateTime的使用

    procedure TForm1.FormCreate(Sender: TObject); var n: TDateTime; i64: Int64; s: Integer; begin Memo1. ...

  4. CSS引入外部字体

    @font-face {    font-family: '综艺体';    font-style: normal;    font-weight: normal;    src: url(../cs ...

  5. Problem A 栈

    Description   You are given a string consisting of parentheses () and []. A string of this type is s ...

  6. Cisco IOS Debug Command Reference Command E through H

    debug eap through debug he-module subslot periodic debug eap : to display information about Extensib ...

  7. SVN服务器配置实战

    [需求] 为公司多个部门建立的SVN仓库compay 公司部门和人员构成 A部门 (zhangsan,lisi,wanger,mazi) B部门(jia,yi,bing,ding) C部门(chun, ...

  8. 监听cell 滑动到 摸个分区

    //滑动过程中 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { //    NSLog(@"000---%ld", ...

  9. (转)SoftReference

    本文介绍对象的强.软.弱和虚引用的概念.应用及其在UML中的表示. 1.对象的强.软.弱和虚引用   在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说, ...

  10. 一看就会之—利用IIS服务发布网站(实践篇)上

    转自:http://blog.csdn.net/zwk626542417/article/details/9796259 概述 IIS全称为互联网信息服务,是由微软公司提供的基于运行Microsoft ...