ღ yuni_world ღ

[파이썬] [백준 / BOJ] 2903번 : 중앙 이동 알고리즘 본문

알고리즘(Python)/백준

[파이썬] [백준 / BOJ] 2903번 : 중앙 이동 알고리즘

ღ유닝이ღ 2023. 7. 31. 19:07

📌문제링크

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

 

2903번: 중앙 이동 알고리즘

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

www.acmicpc.net

📕내 코드

n = int(input())
result = 4
for i in range(n):
    result = int(((result ** (1 / 2) * 2) - 1) ** 2)
print(result)

result는 점의 개수이다. 초기상태는 점 4개를 갖고있기때문에 result를 4로 설정해주며 시작한다.

정사각형 안에 있는 (점의 총 개수)는 (각 변에 있는 점의 개수)**2의 값을 가지게 된다. 또한 과정을 거치며 각 변에 있는 점의 개수는 (기존에 있던 각 변에 있는 점의 개수)+(기존에 있던 각 변에 있는 점의 개수 -1)을 가지게 된다. 이때 (각 변에 있는 점의 개수)는 (점의 총 개수)**1/2 로 표현할 수 있다.

 

이를 점화식으로 표현해보면

a0=4, a1=9, a2=25 ... (an : 점의 총 개수)
an+1=(((an**1/2)*2) -1)**2 

로 표현할 수 있다.

따라서 이를 코드로 표현하면 위와 같이 코드를 작성할 수 있다.