https://www.acmicpc.net/problem/13301
# 문제 설명
- 타일 장식물에서, {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;
}
'Koala - 11기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/C++] 1149번: RGB거리 (0) | 2023.07.23 |
---|---|
[백준/C++] 1149번 : RGB거리 (0) | 2023.07.23 |
[백준/Python] 1958 LCS 3 (0) | 2023.07.23 |
[백준/Java] 11726번: 2 x n 타일링 (0) | 2023.07.23 |
[C++] 백준 15624번: 피보나치 수 7 (0) | 2023.07.23 |