//此题看叶老师题解
#include<bits/stdc++.h>
using namespace std;
int n;
#define H 2
#define W 4
char a[512*H][512*W];
char b[H][W+1]={" /\\ ",
"/__\\"};
void f(int n,int r,int c){
if(n==1){
for(int i=0;i<H;i++){
for(int j=0;j<W;j++){
a[r+i][c+j]=b[i][j];
}
}
return;
}
else{
f(n-1,r,c+pow(2,n-3)*W);
f(n-1,r+pow(2,n-2)*H,c);
f(n-1,r+pow(2,n-2)*H,c+pow(2,n-2)*W);
}
}
int main(){
cin>>n;
memset(a,' ',sizeof(a));//初始化' ';
f(n,0,0);
for(int i=0;i<pow(2,n-1)*H;i++){
for(int j=0;j<pow(2,n-1)*W;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}
请各位大佬看看还有什么可以优化的。