삼각형

시간 제한1초메모리 제한64 MB

요약
삼각형을 N-1번 재귀적으로 세 모서리 삼각형으로 나누고 그 결과를 ASCII 그림으로 출력한다.
난이도

쉬움10점 중 3점

유형
분할 정복, 재귀, 시뮬레이션
정답자
아직 제출이 없습니다

문제

아드리안은 삶의 의미를 오래 고민한 끝에 화가가 되기로 했다. 그런데 수학에 빠져 지낸 세월이 길어서, 첫 작품으로 삼각형 한 개를 그리고 말았다. 화랑 관장 미르코가 그림을 걸어 주지 않겠다고 하자 아드리안은 크게 놀랐다. 세부가 부족한 것이 문제라고 생각한 아드리안은 그림을 꾸민 다음 화랑에 다시 도전하려 한다.

아드리안은 먼저 자연수 NN을 하나 고르고, 처음에 그린 삼각형을 흥미로운 삼각형이라고 부른다.

그다음 아래 과정을 N−1N-1번 반복한다. 흥미로운 삼각형마다 세 변의 중점을 서로 잇는다. 그러면 삼각형 하나가 작은 삼각형 네 개, 곧 모서리 삼각형 세 개와 가운데 삼각형 한 개로 나뉜다. 과정을 마친 뒤 흥미로운 삼각형은 이때 생긴 모서리 삼각형 세 개다.

완성된 그림을 그대로 출력하는 프로그램을 작성하라.

입력

첫 줄에 자연수 NN이 주어진다. (1≤N≤101 \le N \le 10)

출력

꾸미기를 마친 아드리안의 그림을 출력한다.

  • 출력에 쓸 수 있는 문자는 /, \, _, . 네 가지뿐이다.
  • 그림은 2N2^N개의 줄로 이루어지고, 각 줄은 2N+12^{N+1}칸 안에 들어간다. 삼각형이 지나가지 않는 칸은 .으로 채운다.
  • 가장 작은 삼각형은 두 줄을 차지한다. 비스듬한 두 변에는 문자가 각각 두 개씩, 밑변에는 문자가 네 개 놓인다. 즉 N=1N = 1일 때의 그림과 크기가 같다.
  • 줄 뒤쪽에 남는 .은 출력하지 않는다. 따라서 모든 줄의 마지막 문자는 \이다.
  • 빈 줄은 출력하지 않는다.

예제3

  1. 예제 1

    입력
    1
    
    예상 출력
    ./\
    /__\
    
  2. 예제 2

    입력
    2
    
    예상 출력
    .../\
    ../__\
    ./\../\
    /__\/__\
    
  3. 예제 3

    입력
    3
    
    예상 출력
    ......./\
    ....../__\
    ...../\../\
    ..../__\/__\
    .../\....../\
    ../__\..../__\
    ./\../\../\../\
    /__\/__\/__\/__\