Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
173544 刘峻驿 分形图1 C++ 无测评数据 0 0 MS 0 KB 1067 2024-08-20 21:23:22

Tests(0/0):


#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; }