Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
171975 | 简晨希1314 | 分形图1 | C++ | 解答错误 | 0 | 4 MS | 968 KB | 703 | 2024-08-20 21:04:48 |
#include <iostream> #include <algorithm> #include <cstring> using namespace std; const int n=1000; char g[n][n]; int dx[4]={0,1,2,2},dy[4]={2,1,0,2}; void dfs(int u){ if(u==1) { g[0][0]='x'; return; } dfs(u-1); int k=1; for(int i=0;i<u-2;i++)k*=3; for(int i=0;i<4;i++) { int x=dx[i]*k,y=dy[i]*k; for(int j=0;j<k;j++) { for(int p=0;p<k;p++) { g[x+j][y+p]=g[j][p]; } } } } int main() { dfs(7); int n; while(cin>>n&&n!=-1) { int k=1; for(int i=1;i<n;i++)k*=3; for(int i=0;i<k;i++) { for(int j=0;j<k;j++) { if(g[i][j])cout<<g[i][j]; else cout<<' '; } puts(""); } puts("-"); } return 0; }