From abac39c6dbd94a06dfc9d683cf357c5afac613e6 Mon Sep 17 00:00:00 2001 From: user Date: Mon, 17 Aug 2026 10:59:15 +0800 Subject: [PATCH] new file: 33.cpp --- 33.cpp | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 33.cpp diff --git a/33.cpp b/33.cpp new file mode 100644 index 0000000..6510982 --- /dev/null +++ b/33.cpp @@ -0,0 +1,53 @@ +// 118 +#include +using namespace std; +int n; +bool a[1000][1000]; +void cal(int n, int x, int y) +{ + if (n == 1) + { + a[x][y] = 1; + return; + } + /* +X X X X + X X +X X X X + X X + X + X X +X X X X + X X +X X X X + */ + int m = pow(3, n - 2); + cal(n - 1, x, y); + cal(n - 1, x, y + 2*m); + cal(n - 1, x + m, y+m); + cal(n - 1, x + 2 * m, y); + cal(n - 1, x + 2 * m, y + 2*m); +} +int main() +{ + while (cin >> n) + { + memset(a, 0, sizeof a); + if (n < 0) + break; + cal(n, 0, 0); + for (int i = 0; i < pow(3,n-1); ++i) + { + for (int j = 0; j < pow(3,n-1); ++j) + { + if (a[i][j] == 1) + putchar('X'); + else + putchar(' '); + } + putchar('\n'); + } + puts("-"); + } + return 0; +} \ No newline at end of file