代码有些“普通”,别见怪
#include <bits/stdc++.h>
#include <cstdio>
using namespace std;
#define MINNNNN 1055
#define RRRRRRR 1
#define XXX void
#define SSS int
SSS a[MINNNNN][MINNNNN],n;
XXX shemianmouren(SSS x,SSS y,SSS n)
{
if(n==RRRRRRR-RRRRRRR) a[x][y]=RRRRRRR;
else
{
shemianmouren(x+(RRRRRRR<<n),y,n-RRRRRRR);
shemianmouren(x,y+(RRRRRRR<<n),n-RRRRRRR);
shemianmouren(x+(RRRRRRR<<n),y+(RRRRRRR<<n),n-RRRRRRR);
}
}
int main()
{
cin>>n;
shemianmouren(RRRRRRR-RRRRRRR,RRRRRRR-RRRRRRR,n);
for(SSS i=RRRRRRR-RRRRRRR;i<RRRRRRR<<n;i++)
{
for(int j=RRRRRRR-RRRRRRR;j<RRRRRRR<<n;j++)
{
cout<<a[i][j];
printf("%c",j==(RRRRRRR<<n)-RRRRRRR?'\n':' ');
}
}
return 0;
}