比赛 |
随便比赛 |
评测结果 |
A |
题目名称 |
分形 |
最终得分 |
100 |
用户昵称 |
flyfree |
运行时间 |
0.387 s |
代码语言 |
C++ |
内存使用 |
7.75 MiB |
提交时间 |
2024-08-27 20:06:43 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int mp[3010][3010],len[10],q;
int main(){
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
len[1]=1;
for(int i=2;i<=7;i++)len[i]=len[i-1]*3;
mp[1][1]=1;
for(int i=2;i<=7;i++){
for(int x=1;x<=len[i-1];x++){
for(int y=1;y<=len[i-1];y++){
mp[len[i-1]*2+x][y]=mp[x][y];
mp[len[i-1]+x][len[i-1]+y]=mp[x][y];
mp[x][len[i-1]*2+y]=mp[x][y];
mp[len[i-1]*2+x][len[i-1]*2+y]=mp[x][y];
}
}
}
// for(int i=1;i<=len[4];i++){
// for(int j=1;j<=len[4];j++){
// if(mp[i][j])cout<<"X";
// else cout<<" ";
// }
// cout<<endl;
// }
while(cin>>q){
if(q==-1)break;
else{
for(int i=1;i<=len[q];i++){
for(int j=1;j<=len[q];j++){
if(mp[i][j])cout<<"X";
else cout<<" ";
}
cout<<endl;
}
}
cout<<"-\n";
}
return 0;
}