zoj 1178 Booklet Printing

之所以这题要写博客,那是因为这题真是坑出翔

要不是我眼尖不知道又要wa多少次了

你能想象back前比front多了一个空格吗?为此我找了好久的错


#include <bits/stdc++.h>
using namespace std;
struct sheet
{
	int front1,front2;
	int back1,back2;
};
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF&&n){
		if (n==1){
			printf("Printing order for 1 pages:\n");
			printf("Sheet 1, front: Blank, 1\n");
			continue;
		}
		
		int yy=n/4;
		if (n%4>0) yy++;
		int zong=yy*4;
		sheet kk[105];
		for (int i=1;i<=yy;i++){
			kk[i].front2=2*i-1;
			kk[i].back1=2*i;
			kk[i].front1=zong+1-kk[i].front2;
			kk[i].back2=zong+1-kk[i].back1;
		}
		
		printf("Printing order for %d pages:\n",n);
		for (int i=1;i<=yy;i++){
			printf("Sheet %d, front: ",i);
			if (kk[i].front1<=n){
				printf("%d, ",kk[i].front1);
			} else printf("Blank, ");
			if (kk[i].front2<=n){
				printf("%d\n",kk[i].front2);
			} else printf("Blank\n");	
			
			printf("Sheet %d, back : ",i);
			if (kk[i].back1<=n){
				printf("%d, ",kk[i].back1);
			} else printf("Blank, ");
			if (kk[i].back2<=n){
				printf("%d\n",kk[i].back2);
			} else printf("Blank\n");			
		}
	}
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值