提交时间:2024-08-20 23:08:53

运行 ID: 173658

#include <bits/stdc++.h> typedef long long ll; using namespace std; char a[1005][1005],x; int m; void f(int n){ if(n==1){ a[1][1]='X'; return ; } f(n-1); int i,j,l=(int)pow(3,n-2); for(i=1; i<=l; i++) for(j=1; j<=l; j++)a[i][j+2*l]=a[i+l][j+l]=a[i+2*l][j]=a[i+2*l][j+2*l] = a[i][j]; } int main(){ int i,j,l=1; while(cin>>m){ if(m==-1)return 0; if(l==0){ cout<<"-\n"; }else{ l=0; } memset(a,' ',sizeof(a)); f(m); for(i=1; i<=(int)(pow(3,m-1)); i++){ for(j=1; j<=(int)(pow(3,m-1)); j++)cout<<a[i][j]; cout<<endl; } } return 0; }