[24723] 녹색거탑

RudinP·2023년 4월 13일
0

BaekJoon

목록 보기
45/77


녹색거탑은 위 그림과 같이 규칙적으로 쌓여있다.
그림의 시야에 보이지 않는 블록은 없다.
그림의 시야에 보이는 블록의 윗면만 이용해 녹색거탑을 내려올 수 있다.
녹색거탑이
NN층이면, 총
NN개의 블록을 이용한 최단 경로로만 내려온다.
녹색거탑을 내려올 때는 정상에서 시작해 노란색 바닥까지, 항상 인접한 아래층의 블록으로만 내려온다.
녹색거탑을 정복하고 DEVIEW에 참여하자.

입력

  • 녹색거탑의 높이를 나타내는 정수
    NN이 주어진다. (1N51 \leq N \leq 5)

출력

  • 녹색거탑의 정상에서 바닥으로 내려오는 경우의 수를 출력한다.

생각

1층을 맨 윗층이라고 하면
2층짜리는 총 4가지, 3층짜리는 총 8가지, ...
이므로 2^n이다.
이는 비트 연산에서 n만큼 왼쪽시프트 한것과 같다! (아무래도 비트연산이 더 빠를테니까)

  • ex) 0001(1층) -> 0010(2가지)
  • 0010 (2층) -> 0100 (4가지)

처음 코드

namespace SongE
{
    public class Program
    {
        static void Main(string[] args)
        {
            using var input = new System.IO.StreamReader(Console.OpenStandardInput());
            using var print = new System.IO.StreamWriter(Console.OpenStandardOutput());

            int n = int.Parse(input.ReadLine());

            print.Write(1 << n);  
        }
    }
}

profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글