📄 1084.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1084 on 2006-01-08 at 21:37:25 */
#include <cstdio>
const int MAX = 32;
class Page {
private:
bool empty(int) const;
public:
int left, right;
void print(int, int, bool) const;
};
bool Page::empty(int n) const {
return (left > n && right > n);
}
void Page::print(int o, int n, bool front) const {
if(!empty(n)) {
printf("Sheet %d, %s: ", o, front ? "front" : "back ");
if(left > n) printf("Blank,");
else printf("%d,", left);
if(right > n) printf(" Blank\n");
else printf(" %d\n", right);
}
}
class Sheet {
public:
Page front, back;
void print(int, int) const;
};
void Sheet::print(int o, int n) const {
front.print(o, n, true);
back.print(o, n, false);
}
int main()
{
Sheet sheet[MAX];
int n, i;
while(scanf("%d", &n) != EOF && n != 0) {
int p = (n + 3) / 4, m = 1;
for(i = 0; i < p; i++) {
sheet[i].front.right = m++;
sheet[i].back.left = m++;
}
for(i = p-1; i >= 0; i--) {
sheet[i].back.right = m++;
sheet[i].front.left = m++;
}
printf("Printing order for %d pages:\n", n);
for(i = 0; i < p; i++) sheet[i].print(i+1, n);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -