我的输出错在哪里了
查看原帖
我的输出错在哪里了
973361
ly111222楼主2023/9/22 10:44
#include <bits/stdc++.h>
using namespace std;
#define N 3000
char g[N][N];
void draw(int hstart,int scale,int lstart){
    if(scale==1){
        g[hstart][lstart+1]='/';g[hstart][lstart+2]='\\';
        g[hstart+1][lstart]='/';g[hstart+1][lstart+1]='_';
        g[hstart+1][lstart+2]='_';g[hstart+1][lstart+3]='\\'; 
        return ;
    }
    int r=pow(2,scale);
    int c=r*2;
    draw(hstart,scale-1,lstart+c/4);
    draw(hstart+r/2,scale-1,lstart);
    draw(hstart+r/2,scale-1,lstart+c/2);
}
int main(){
    int n;
    cin >> n;
    int r=pow(2,n);
    int c=r*2;
    draw(1,n,1);
    for(int i=1;i<=r;i++){
        for(int j=1;j<=c;j++){
            cout << g[i][j];
        }
        if(i<r)
        cout << "\n";
    }
    return 0;
}
2023/9/22 10:44
加载中...