• toc {:toc}

๐Ÿ“ฆ2448: ๋ณ„์ฐ๊ธฐ 11


[์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด] ๊ฐ•๋™๊ทœ
Reviewed by Kade Kang (devkade12@gmail.com)
Reviewed:: 2024-02-17
๋ฌธ์ œ ํ™•์ธํ•˜๊ธฐ

ํ’€์ด

  • ๋ถ„ํ•  ์ •๋ณต์œผ๋กœ ํ’€์ดํ–ˆ๋‹ค. ์ž…๋ ฅ์ด ๋กœ ์ฃผ์–ด์ง€๊ณ , ์ด๋ฏธ์ง€๋Š” ๋ฐ˜๋ณต์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ค๋‹ค.
  • ๊ทธ๋ฆผ์€ 24๊ฐ€ ์ฃผ์–ด์ง„ ๊ทธ๋ฆผ์ธ๋ฐ, ๋†’์ด๋Š” 24, ๋ฐ‘๋ณ€์€ 47์ด๋‹ค.
    • ์ฆ‰, ๋†’์ด = , ๋ฐ‘๋ณ€ = ์ด๋‹ค.
  • ํฐ ์‚ผ๊ฐํ˜•์„ ์ž‘์€ ์‚ผ๊ฐํ˜• 3๊ฐœ๋กœ ๋‚˜๋ˆ„๋ฉด ๋†’์ด๊ฐ€ 12, ๋ฐ‘๋ณ€์€ 23์ด ๋œ๋‹ค.
  • ๋˜ 3๊ฐœ๋กœ ๋‚˜๋ˆ„๋ฉด N=6 ์ผ ๋•Œ๊ฐ€ ๋œ๋‹ค.
  • (y, x) = (0, 0) ์ด๋ผ ๊ฐ€์ •ํ•˜๊ณ  N=24์ธ ๊ทธ๋ฆผ์—์„œ N=12๋กœ ์ชผ๊ฐค ๋•Œ 3๊ฐœ์˜ ๋ณ„์‚ผ๊ฐํ˜•์˜ ์‹œ์ž‘์ ์„ ๊ตฌํ•ด์„œ ์žฌ๊ท€์ ์œผ๋กœ ํ’€๋ฉด ๋œ๋‹ค.
#include <iostream>
 
#define endl '\n'
using namespace std;
 
int N;
char tri[3][6] = {
    "  *  ",
    " * * ",
    "*****"
};
char board[3100][6200];
 
 
void Input(){
    cin >> N;
}
 
void Solution(int n, int y, int x){
    if(n == 1){
        for(int i=0; i<3; i++){
            for(int j=0; j<5; j++){
                board[y+i][x+j] = tri[i][j];            
            }
        }
        return;
    }
    Solution(n/2, y, x+3*n/2);
    Solution(n/2, y+3*n/2, x);
    Solution(n/2, y+3*n/2, x+3*n);
}
 
void Solve(){
    for(int i=0; i<N; i++){
        for(int j=0; j<2*N-1; j++){
            if(board[i][j] != '*') cout << " ";
            else cout << "*";
        }
        cout << endl;
    }
}
 
int main(){
   ios::sync_with_stdio(0);
    cin.tie(0);
 
    Input();
    Solution(N/3, 0, 0);
    Solve();
 
    return 0;
}