superl3   6년 전

#include<stdio.h>
bool array[3073][6145];
void drawTri(int X,int Y) {
    int idx,x=X,y=Y;
    array[x][y] = true;
    for(idx=0;idx<2;idx++) {
        x-=1;y+=1;
        array[x][y] = true;
    }
    for(idx=0;idx<2;idx++) {
        x+=1;y+=1;
        array[x][y] = true;
    }
    for(idx=0;idx<3;idx++) {
        y-=1;
        array[x][y] = true;
    }
}
void dfs(int lv,int x,int y) {
    if(lv==3) {
        drawTri(x,y);
        return;
    }
    else {
        dfs(lv/2, x,y);
        dfs(lv/2, x-lv/2, y+lv/2);
        dfs(lv/2, x,y+lv);
    }
}
int main(void) {
    int n;
    scanf("%d",&n);
    int x=n-1,y=0;
    dfs(n/2, x,y);
    dfs(n/2, x-n/2, y+n/2);
    dfs(n/2, x,y+n);
    int i,j;
    for(i=0;i<n;i++) {
        for(j=0;j<n*2;j++) {
            if(array[i][j]==true)
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
    return 0;
}


댓글을 작성하려면 로그인해야 합니다.