Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
173544 | 刘峻驿 | 分形图1 | C++ | 无测评数据 | 0 | 0 MS | 0 KB | 1067 | 2024-08-20 21:23:22 |
#include<bits/stdc++.h> using namespace std; const int MAX=1000; char Matrix[MAX][MAX]; void DFS(int r, int c, int n, int MatrixLen) { if (n == 1) { Matrix[r][c] = 'X'; } else { int size = MatrixLen / 3; DFS(r + size, c + size, n - 1, size); DFS(r + 2 * size, c, n - 1, size); DFS(r + 2 * size, c + 2 * size, n - 1, size); DFS(r, c + 2 * size, n - 1, size); DFS(r, c, n - 1, size); } } int main() { int n; while (cin >> n) { if(n!=-1) { int MatrixLen = 1; for (int i = 0; i < n - 1; i++) { MatrixLen *= 3; } for (int i = 0; i < MatrixLen; i++) { memset(Matrix[i], 'a', MatrixLen * sizeof(char)); } DFS(0, 0, n, MatrixLen); for (size_t i = 0; i < MatrixLen; i++) { for (int j = 0; j < MatrixLen; j++) { if (Matrix[i][j] == 'a') { cout << " "; } else { cout << Matrix[i][j]; } } cout << endl; } cout << "-" << endl; } else { break; } } return 0; }