求助
查看原帖
求助
399052
万花筒写轮眼楼主2022/5/4 22:12
#include <bits/stdc++.h>
#define MAXN 10100
using namespace std;
char maps[MAXN][MAXN];
void func(int n,int x,int y){
	if(n == 1){
		maps[x][y] = '/';
		maps[x][y+1] = '\\';
		maps[x+1][y-1] = '/';
		maps[x+1][y+2] = '\\';
		maps[x+1][y] = '_';
		maps[x+1][y+1] = '_';
	}
	else{
		func(n-1,x,y);
		func(n-1,x+pow(2,n-1),y-pow(2,n-1));
		func(n-1,x+pow(2,n-1),y+pow(2,n-1));
	}
}
int main(){
	int n;
	while(cin >> n){
	    memset(maps,' ',sizeof(maps));
    	func(n,1,pow(2,n));
    	for(int i = 1;i <= pow(2,n);i++){
    		for(int j = 1;j <= pow(2,n+1);j++){
    			cout << maps[i][j];
    		}
    		cout << endl;
    	}
	}
	return 0;
}

TLE???

2022/5/4 22:12
加载中...