본문 바로가기

🖥️ 오늘의 백준

백준 2903번 : 중앙 이동 알고리즘 [Python]

문제 https://www.acmicpc.net/problem/2903

 

2903번: 중앙 이동 알고리즘

상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다.

www.acmicpc.net

접근법

▶ 규칙 찾기

    점의 갯수는 한 변에 있는 점 개수 * 한 변의 점 개수

    초기 한 변의 점 개수 = 2개 

    1번의 점 개수 = 3개 , 2번의 점 개수 = 5개 >> 1번의 점 개수 = 2 + 2의 0승 , 2번의 점 개수 = 2 + 2의 0승 + 2의 1승

 

즉, N번의 한변의 점 개수는 { 2 + (2의 N승까지의 합) } 의 제곱이다.

 

a ** b 사용 #a는 b제곱

 

코드

N = int(input()) #몇번 실행할건지

result = 2 # 한변에 속한 점에 갯수

if(N==1): #N이 1인 경우는 아래의 루프를 돌지 않으므로 따로 처리해준다.
    result += 1
else:
    for i in range(N):
        result += 2**(i)

print(result**2)