📄 1979.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1979 on 2005-10-15 at 21:52:39 */
#include <cstdio>
#include <cstring>
#define MAX 800
bool box[MAX][MAX];
int f[8] = {1};
void tran(int, int, int);
int main()
{
int i, j, k;
int n, space;
for(i = 1; i < 8; i++) {
f[i] = f[i-1] * 3;
}
memset(box, false, sizeof(box));
box[0][0] = true;
for(i = 0; i < 6; i++) {
tran(i, f[i], f[i]);
tran(i, 0, 2*f[i]);
tran(i, 2*f[i], 0);
tran(i, 2*f[i], 2*f[i]);
}
while(scanf("%d", &n) == 1) {
if(n < 0) {
return 0;
} else {
for(i = 0; i < f[n-1]; i++) {
space = 0;
for(j = 0; j < f[n-1]; j++) {
if(box[i][j]) {
for(k = 0; k < space; k++) {
putchar(' ');
}
space = 0;
putchar('X');
} else {
space++;
}
}
putchar('\n');
}
}
printf("-\n");
}
return 0;
}
void tran(int n, int x, int y)
{
int i, j;
for(i = 0; i < f[n]; i++) {
for(j = 0; j < f[n]; j++) {
box[x+i][y+j] = box[i][j];
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -