728x90
🏆 목차.
🛒 문제
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번 중앙 이동 알고리즘 문제에서 보면 일정한 규칙이 있다는 것을 알 수 있습니다.
초기 상태에 보면 한 변의 점의 수가 2개이기 때문에 result를 2로 초기화해주었습니다.
점이 총 4개인데 2로 초기화한 이유는 마지막에 다시 result를 곱해주어 모든 점의 수를 구해주기 때문입니다.
1번의 가장 위 가로 점을 보면, 2개의 점 사이에 점을 추가해 3개라서 2(개의 점)* 2(사이에 하나씩 추가)-1과 같고,
2번의 가장 위 가로 점을 보면, 3개의 점 사이에 각각 점을 추가해 5개라서 3(개의 점)*2(사이에 하나씩 추가)-1과 같습니다.
마지막 결과 출력 시 모든 점의 수를 구하기 위해 result * result를 해주어 모든 점의 수를 구할 수 있었습니다.
728x90
'코딩테스트' 카테고리의 다른 글
[C++] 백준 2292번 : 벌집 (0) | 2024.02.21 |
---|---|
[C++] 백준 11005 : 진법 변환 2 (1) | 2024.02.20 |
[C++] 백준 3009번 : 네 번째 점 (0) | 2024.02.18 |
[C++] 프로그래머스 : 문자열 겹쳐쓰기(replace) (1) | 2023.11.12 |
[C++][sort] 백준 1431번 : 시리얼 번호 (1) | 2023.11.11 |