728x90

🏆 목차.

  1. 문제
  2. 코드
  3. 풀이

 

🛒 문제

 

 

2903번: 중앙 이동 알고리즘

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

www.acmicpc.net

 

🎨 코드

 

#include<iostream>

using namespace std;

int main() 
{
//초기 한 변의 점 수 2개
	int result=2;

	int repeat;
	cin >> repeat;

	while (repeat--) result = (result * 2) - 1;

	cout << result * result;
}

 

🎯 풀이

 

백준 2903번 중앙 이동 알고리즘 문제에서 보면 일정한 규칙이 있다는 것을 알 수 있습니다.

 

백준-2903번-분석
백준 2903번 분석

 

초기 상태에 보면 한 변의 점의 수가 2개이기 때문에 result를 2로 초기화해주었습니다.

점이 총 4개인데 2로 초기화한 이유는 마지막에 다시 result를 곱해주어 모든 점의 수를 구해주기 때문입니다.

 

1번의 가장 위 가로 점을 보면, 2개의 점 사이에 점을 추가해 3개라서 2(개의 점)* 2(사이에 하나씩 추가)-1과 같고,

2번의 가장 위 가로 점을 보면, 3개의 점 사이에 각각 점을 추가해 5개라서 3(개의 점)*2(사이에 하나씩 추가)-1과 같습니다.

 

마지막 결과 출력 시 모든 점의 수를 구하기 위해 result * result를 해주어 모든 점의 수를 구할 수 있었습니다.

728x90

+ Recent posts