测试全对,提交全错
查看原帖
测试全对,提交全错
1122501
zhuangzhao楼主2024/5/11 22:23
#include <bits/stdc++.h>  
#define inf 0x3f3f3f3f  
using namespace std;  
long long int n,m=1,y=1;  
char a[3005][3005],b[3005][3005];  
void cf(int x)  
{  
	for(int i=1;i<=x;i++)  
	{  
		m*=2;     
	}  
    
}

void cf1(int x)

{

	for(int i=1;i<=x;i++)
    
	{
    
		y*=2;
        
	}
    
}

void dfs(int z)

{
	
		if(z==1)
    
		{
    	
			a[1][2]='/';
        
			a[1][3]='\\';
	        
			a[2][1]='/';
  	      
			a[2][2]='_';
  	      
			a[2][3]='_';
  	      
			a[2][4]='\\';
  	      
			return ;
	        
		}
  	  
		dfs(z-1);
  	  
		y=1;
  	  
		for(int i=1;i<=z;i++)
  	  
		{
  	  
			y*=2;
  	      
		}
  	  
		for(int i=1;i<=m;i++)
  	  
 		{
  	  
 			for(int j=1;j<=m*2;j++)
  	      
 			{
  	      
 				b[i][j]=a[i][j];
  	          
			}
  	      
		}
  	  
		for(int i=1;i<=y/2;i++)
  	  
		{
  	  
			for(int j=1;j<=y*2;j++)
  	      
			{
  	      
				a[i][j]=b[i][j-y+y/2];
  	          
			}
  	      
		}
  	  
		for(int i=y/2+1;i<=y;i++)
  	  
		{
  	  
			for(int j=1;j<=y;j++)
  	      
			{
	        
				a[i][j]=b[i-y/2][j];
  	          
			}
  	      
		}
  	  
		for(int i=y/2+1;i<=y;i++)
  	  
		{
  	  
			for(int j=y+1;j<=y*2;j++)
  	      
			{
  	      
				a[i][j]=b[i-y/2][j-y];
  	          
			}
  	      
		}
  	  
 }	 
	 
int main()

{

 	ios::sync_with_stdio(0);
    
 	cin>>n;
    
 	cf(n);
    
 	dfs(n);
    
 	for(int i=1;i<=m;i++)
    
 	{
    
 		for(int j=1;j<=m*2;j++)
        
 		{
        
 			cout<<a[i][j];
            
		}
        
		if(i!=m)
        
		{
        
			cout<<endl;	
            
		}
        
	}
    
	return 0;
    
}
2024/5/11 22:23
加载中...