记录编号 593234 评测结果 A
题目名称 [POJ 2083]分形 最终得分 100
用户昵称 Gravatar健康铀 是否通过 通过
代码语言 C++ 运行时间 0.455 s
提交时间 2024-08-27 21:15:33 内存使用 7.82 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,s[2010][2010];
int k1[8]={0,1,3,9,27,81,243,1701};
int main(){
    freopen("fractal.in","r",stdin);
    freopen("fractal.out","w",stdout);
    s[1][1]=1;
    for(int k=1;k<=pow(3,5);k*=3){
        for(int i=1;i<=k;i++){
            for(int j=1;j<=k;j++){
                if(s[i][j]==1){
                    s[i][j+k*2]=s[i+k][j+k]=s[i+k*2][j]=s[i+k*2][j+k*2]=1;
                }
            }
        }
    }
    while(cin>>n){
        if(n==-1)
        break;
        int k=pow(3,n-1);
        for(int i=1;i<=k;i++){
            for(int j=1;j<=k;j++){
                if(s[i][j]==1)
                cout<<"X";
                else
                cout<<" ";
            }
            cout<<endl;
        }
        cout<<"-\n";
    }
    return 0;
}