Koala - 11기/코딩테스트 준비 스터디
[백준/C++] 13301 타일 장식물
nunomi0
2023. 7. 23. 21:16
https://www.acmicpc.net/problem/13301
13301번: 타일 장식물
대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개
www.acmicpc.net
# 문제 설명
- 타일 장식물에서, {1,1,2,3,5,8...}과 같이 정사각형 타일 한 변의 길이를 구할 수 있다.
- 타일의 개수 N(1<=N<=80)이 주어졌을 때, N개의 타일로 구성된 직사각형의 둘레를 구하는 프로그램을 작성한다.
# 풀이 방법
- 직사각형의 둘레는 (N번째 정사각형 한 변의 길이 + (N번째 정사각형 한 변의 길이+(N-1)번째 정사각형 한 변의 길이)) * 2 임을 알 수 있다.
- dp[[i]=dp[i-1]+dp[i-2] 점화식을 이용한다.
# 정답 코드
#include <iostream>
#include <vector>
using namespace std;
int n;
long long dp[10010];
int main() {
cin >> n;
dp[1] = 1;
dp[2] = 1;
for (int i = 3; i <= n; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
cout << dp[n] * 2 + (dp[n]+dp[n - 1]) * 2;
}