Python/online judge
백준 [2903.중앙 이동 알고리즘] | Python
구름솜:D
2023. 12. 28. 14:52
728x90
✏️ 문제
https://www.acmicpc.net/problem/2903
2903번: 중앙 이동 알고리즘
상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다.
www.acmicpc.net
✏️ 풀이방법
1. 한 변의 점의 개수가 위와 같이 2의 제곱수씩 증가하는 규칙을 발견
2. n회 만큼 거쳤을 때 한 변의 점의 개수를 확인
3. (점의 개수 * 점의 개수)를해서 한 정사각형의 점의 개수를 출력
📌 코드
n = int(input())
point = 2
for i in range(n):
point = point+(2**i)
print(point*point)
📌 결과
# 입력
1
#출력
9
# 입력
2
# 출력
25
# 입력
5
# 출력
1089
🔎 다른풀이
n = int(input())
print((1+n**2)**2)
- 위의 수식을 더 간단하게 표현
n = int(input())
point = [2]
for i in range(n):
point.append(point[i]+(point[i]-1))
print(point[n]*point[n])
- 한 변의 점이 기존의 점보다 -1개 된 개수만큼 추가되는 규칙을 활용 2, 3(2+1), 5(3+2), 9(5+4)의 규칙