5 条题解

  • 1
    @ 2026-7-19 11:14:53

    #include <bits/stdc++.h>//万能头文件

    using namespace std;

    char a[2000][3000];

    void f(int n,int x,int y){

    if(n==1){
    
    	a[x][y]='/';//找起点 
    
    	a[x-1][y+1]='/';
    
    	a[x][y+1]='_';
    
    	a[x][y+2]='_';
    
    	a[x-1][y+2]='\\';
    
    	a[x][y+3]='\\';
    
    	return;
    
    }
    
    f(n-1,x,y);
    
    f(n-1,x-pow(2,n-1),y+pow(2,n-1));
    
    f(n-1,x,y+pow(2,n));
    

    }

    int main(){

    int n;
    
    cin>>n;
    
    memset(a,' ',sizeof(a));//初始化
    
    f(n,pow(2,n),1);
    
    for(int i=1;i<=pow(2,n);i++){
    
    	for(int j=1;j<=pow(2,n+1);j++){
    
    		cout<<a[i][j];
      
    	}
    
    	cout<<endl;
    
    }
    

    return 0;

    }

    信息

    ID
    1233
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    173
    已通过
    76
    上传者